Affichage des articles dont le libellé est Shader. Afficher tous les articles
Affichage des articles dont le libellé est Shader. Afficher tous les articles

2020/06/09

In Nebula Shade, an OSL Shading project

For a student project, we need to make Nebula volume from a picture of real Nebula.

The goal was not to have a scientifically correct representation. It was to have color and shape of the photo on a beautiful volume render.

The shader makes to a 3D volume extrusion, adds some fractal complexity and stars around.

It uses two images:
• the original photo of the nebula
• a modified one, representing the depth of the nebula (made with photoshop).


It is 100% OSL.

It can be adapted to any OSL renderer with volume closures: Arnold, Cycles, etc :



Here is the film :



Enjoy !

2020/05/04

Un shader pour voir les morts !

Une fois n’est pas coutume, cet article est en français !

Voici un projet pédagogique entièrement orienté autour d’un shader OSL.
Il a été réalisé avec Blender 2.82 et Cycles, en rendu CPU et GPU.

Le but était de montrer comment développer un visuel à partir d’un besoin narratif, et, inversement, comment les possibilités d’un shader peuvent augmenter une narration.

Le film est donc constitué d’une mise en contexte et d’une trame narrative simple, elle-même servant de liant aux différentes possibilités du shader.

Les différentes fonctions utilisées sont :
- Simulation d’ancienne TV à balayage,
- Caméra de surveillance,
- Ambiant Occlusion,
- Ombre portée


Elles se regroupent pour correspondre au but recherché : la mise en scène d’un film utilisant une ancienne caméra mystérieuse, permettant, en théorie, de voir les morts !

Le making-of explique la démarche de ce projet :
- La première partie est consacrée à la genèse du projet, et de briques de bases.
- La seconde est consacrée à quelques petits trucs sous Blender ayant permis la réalisation.
- La troisième à un tutoriel montrant les grands principes utilisés dans le shader.

D’autres projets ont été réalisés, encore d’autres sont en cours de réalisation ou de finition.

N’hésitez pas à me contacter si vous avez des besoins pédagogiques en shading OSL.

Et n’oubliez pas de partager les vidéos 😊 !





Making Of :

2020/04/02

Propagation EEVEE

I take advantage of the social distancing to try many things in 3D.

For a long time, I want to test EEVEE, the wonderful 'Near-Real-Time' Blender renderer.

For this short project, I use Meshroom for photogrammetry and Blender 2.82.

All materials are animated, and have, at least 10 nodes.
I used EEVEE in Optix mode, with the Optix denoiser.

The first trap I fall into was the 'Render Animation' menu. Never use the Render Animation menu with EEVEE !!! Never !!!
You must use it for every other renderer, but not with EEVEE!!

Using it will transform your Ultra-fast Eevee in Ultra-Slow Eevee, jumping from 8s/frame to 3m30/frame!!!























You HAVE to use the new menu in viewport : Viewport Render Animation.
Then, you'll have EEVEE Full Power !






















Enjoy !


2018/09/06

OSL Juggler for Appleseed

.


----------> the OSL JUGGLER for Appleseed renderer :


You can download the shader for BlenderSeed HERE.

You can download the shader for Appleseed-Maya HERE.

Appleseed is a very very nice open source renderer. If you don't know it, I strongly recomend you to give it a try.

The difference between Juggler Blender and Maya is just in Metadata. The metadata needed for output closure in Maya are not understood by BlenderSeed. Otherwise, the shader is stricly the same!

Enjoy it in your AppleSeed scenes!




2018/04/11

OSL in Autodesk 3DSMax 2019

This is the very good news of the latest 3DS Max release, from Autodesk.

An OSL pattern generator is now included in 3DS Max 2019 !!!

It is awesome ! It can export to bitmap, for non-OSL renderer. Shaders are fully intergrated in OSL renderers, like Arnold.

It's optimisation is not done shader by shader, but for the whole node tree. So many little shaders would go as fast as a very big one doing the same thing! That's Excellent!

Other nice things: you can edit and compile OSL scripts inside 3DS Max, or even link them to your scene (or unlink to file, in 3DS Max terminology)!


Indeed, I just have one thing to say...
In 2012, Blender was the first to do all of this!

Brecht Van Lommel did a wonderful job on OSL integration in Cycles, as he did a wonderful job for Solid Angle Arnold.

For now 6 years, we use Blender for easy OSL dev., using included script editor, realtime render update, etc...
And, most impressive, Blender is still ahead! It includes closures and other advanced OSL functions not yet available in 3DSMax.

I started teaching OSL using Blender in 2013. Students were wondering why... Now, they are immediately proficient in writing OSL Shaders in 3DS Max 2019, from the first day!
Now, they can use their knowledge in the biggest and most powerful renderers !

Just because I started teaching OSL 5 years ago !

Long time before this standard was widely available, long time before autodesk decide that it's should be included in mainstream softwares, I was teaching OSL on Blender, Maya and 3DSMax (yes! 3DS Max!) for years!

Because, when your are teaching, you should NOT teach what exists now. You should NOT answer the actuel needs.

You have to teach what will exist when the students will leave school.
You have to teach what will be needed in the next 2, 3 or 10 years!

If you do so, your students will adapt themselve immediately to new technologies! Because they try them before all others.

And Blender is a wonderful tool for this goal.

So, if you are teacher, remeber this :


Go boldly where no human has gone before !


OSL in 3DS Max is the perfect illustration of this story!

2018/02/14

WIP, NPR Lighting Shader

Here are the first results from my NPR Lighting Sahder.

It works with Arnold, with Autodesk Maya. It should work with 3DSMax, but the light rig would be much more difficult to do.

It is intend to be used for this year student's projects. It renders a NPR lighting, with colored non-realistic Rim Light, color shadows from the Main Light, some kind of AO, and some other features...

2018/02/02

Substance Designer student works

It's near the end of the term of Shading Teaching, and here are the first results !

This year was very exciting, with a lot of new things ! The most important was the introduction of Substance Designer in shading session.

But the real best thing about this year was to work with wonderful students, doing such incredible shading, textures and materials !

One of them really revealed himself with Substance Designer : Ludovic Petiot.

Here his Artstation... And here is his reel :


Demoreel - Ludovic Petiot - 2018 from Ludovic Petiot on Vimeo.



Enjoy !

2018/01/28

Happy New Year 2018

Just in time, Happy New Year to all of you !

I wish you an excellent an intense shading year !

Here is aone of the first picture rendered with PATATRAC ( PATh A TRACe), an OSL educational Path Tracer, with Russian roulette, MIS, Next Event Estimation... And, total freedom about shading !!!

This path tracer is the little borther of RIRE, a previous educational project.

Actual PATATRAC was made in less than 15 hours, mostly in real time, with students, during teaching. Next courses will help PATATRAC to be faster, with more functionnalities, and with a lot of experimental features !

2017/09/17

Giant LED Screen, an OSL shader for every renderer

The Giant LED Screen shader is an OSL shader used for teaching how to adapt shaders for any OSL compatible renderers.

The shader is rather complex. It is using object individual ID, distance to the camera, U and V quantization, and emission.

Making a version for each rendering software is not easy, as a lot of this features change fron one renderer to another. Indeed, it is a really good exercise for teaching portability !

Tested versions are for :
- ARNOLD (Solid Angle), for 3DSMax and Maya.

- Clarisse IFX ( Isotropix)

- Cycles, for Blender.

- Renderman (Pixar), Renderman 21.5 for Maya.

- Vray for 3DS Max (Chaosgroup)

If I have opportunity to try to adapt it to other renderers, I would update this post.


Shader features are :
: Simulate LED and local led glow
: LED visibility according to camera distance. This is very useful for having a total moiré control.
: Simulation of dead pixels and led chunk visibility and non uniformity.
: Screen color, useful for road sign...
: Slideshow of up to 10 pictures, with fading as transition.
: random pictures on each object, so no screens in the scene are identical.
: base luminosity of the screen

Enjoy !

OSL GiantLedScreen Shader from François Gastaldo on Vimeo.

2017/05/22

OSL Juggler for CLARISSE IFX

----------> the OSL JUGGLER for Isotropix Clarisse IFX :


You can download the shader HERE.


Once again, this shader is a Texture(no closure in Clarisse...).
You have to connect it to an Emitter Material to use it, or use a color input of any other material.

Clarisse is always very fast, and the OSL Juggler is also fast!

Enjoy it in your Clarisse scene.

2017/04/19

OSL Juggler everywhere !

Well, not exactly everywhere...

Unfortunately, I don't have access to all renderers of my OSL Renderer BIG LIST.

So, I tried to adapt my OSL Juggler, based on 1986 Eric Graham's 3D Juggler, to OSL compatible renderers I could use.

Despite including a full ray tracing renderer in itself, the OSL Juggler Shader is rather simple. It just use I and P variables, in world coordinate system, and the emission() closure.

The main adaptation was Y up and direction of I.

You can find :

Juggler for Blender

Juggler for Renderman

Juggler for Arnold + 3DSMax 2018

Juggler for Arnold + Maya

Juggler for Vray Max and Maya

Juggler for Isotropix Clarisse IFX

Juggler for Appleseed, Blenderseed and Maya


If you want an adaptation of the Juggler for your Renderer, email me.
Then, send me a link to download an useable version of your software (at least for 30 days...) and to some documentation of how to include an OSL shader.

I'll contact you if I would find any problem.

The OSL Juggler shader doesn't use advanced OSL fonctions (not getattribute, no trace, etc...), so it could work on any software using OSL.

Enjoy playing with the 1986 Erci Graham's JUGGLER! The animation that changed the world of 3D forever...


OSL Juggler for Maya to ARNOLD !

----------> JUGGLER for Maya to ARNOLD (Solide Angle) :


You can download the shader HERE.


It's a material shader. you have to assign it to your selected objects to use it.
Put the .oso and .mtd your " C:\solidangle\mtoadeploy\2017\OSL " directory, and you'll have a new Juggler node available from the HyperShade shader list.



OSL Juggler for RENDERMAN !


----------> the OSL JUGGLER for RENDERMAN (Pixar), used in RENDERMAN for Maya :


You can download the shader HERE.


Due to Renderman limitation, the shader is a Pattern (no closure in Renderman...).
You have to connect it to a PxrConstant or PxrSurface to use it.

You have to connect two PxrVariable nodes to the shader, one with Po, the other one with Vn, both in 'world' coordinates.

It's heavier than in other renderer, but it seams to be the only to totally avoid problems, include in IPR mode...



2017/04/10

1st Quarter 2017 OSL workshops and teaching reel

This first quarter 2017 OSL teaching session, at ESTEI school, was really nice, with cool results.

Here is the reel of works done during worshops, teaching session, or tutored works.
The shaders are 'as is' from students work, with no correction. Some little glintches are still present, but I prefer showing real student works instead of modified (and without bug) ones.

If you are intersted in OSL workshops, or sessions, or masterclasses.... just send me a message !

Enjoy !

OSL Shader Writing Courses, 1st quarter 2017, Students Works Reel from François Gastaldo on Vimeo.

2016/11/11

OSL Renderers Big List !!!

It's very difficult to find a complete list of renderers including Open shading Language.

I need it for OSL teaching and for my OSL Master-Class, so I made it myself !

I could miss some. If you don't find your Rendering software here, please, write a comment.

Some renderers have different features according the 3D software hosting it. So, I just list the ones including OSL.
It is very difficult to make this list, as the OSL implementation could be very different. In some case, it is even hidden to the final user (like in Corona for Maya). In other cases, there is no end-user interface for compiling the .osl shader (should be compiled by oslc before using it). Some are so poorly documented that it is near impossible to use.
I decided to make just six categories, mostly useful to end-user.
I didn't made Commercial vs Open source categories neither.
It could be very useful to make compatibility charts between renderers and OSL specification, but it's not the goal of this post.

This post is evolutive, according to renderers actualities.

This post is up to date the 12 / 04 / 2018, list version: 8.1

Full OSL renderers, with compilation UI
Closure + texture pattern,
ready to use,
in-software OSL compilation
.

-> Autodesk 3DS Max 2019 with Arnold Renderer included
------------------> OSL Documentation

-> Autodesk MAYA 2018+ with Arnold Renderer included
------------------> OSL Documentation

-> 3delight for Katana
------------------> OSL Documentation

-> Cycles in Blender
------------------> OSL Documentation

-> Cycles4D, Cycles for Cinema 4D
------------------> OSL Documentation

-> Vray for 3DSMax
------------------> OSL Documentation

-> Vray for Cinema4D
------------------> OSL Documentation (for full documentation, read documention of VRay for 3DS-Max)

-> Vray for Maya
------------------> OSL Documentation (very poor...)

-> Autodesk Beast
------------------> OSL Documentation

-> Arnold Render Standalone and API
------------------> OSL Documentation

Full OSL renderers
Closure + texture pattern,
ready to use,
not documented compilation or external oslc compilation
.
-> Appleseed HQ
------------------> OSL Documentation

-> 3delight, 3delight Studio Pro
------------------> OSL Documentation

-> 3delight for Maya (very promising and useable experimental feature...)
------------------> OSL Documentation

-> FluidRay (no available public documentation)

-> BRL-CAD, Open source Solid Modeling CAD
------------------> OSL Documentation

-> XRT Renderer
------------------> OSL Documentation



Texture Pattern only OSL renderers
-> Pixar Renderman 21+, and Pixar Renderman for Maya
------------------> OSL Documentation

-> Clarisse 3.6 IFX
------------------> OSL Documentation

-> Autodesk 3DS Max 2019 (with export of OSL generated maps to any renderer !)
------------------> OSL Documentation

-> Octane Render
------------------> OSL Documentation



Futur, promised in next release, or currently in OSL implementation
-> Maneki NPR and Photo-Surreal Rendering Renderer, with 3Delight included



Non-rendering software OSL compatibility
-> Shader FX, node based OSL script generation include in Autodesk Maya and Autodesk 3DSMax
------------------> Documentation

-> Gaffer, framework for VFX
------------------> OSL Documentation


Project using OSL
-> Animal Logic Glimpse renderer

-> Cycles standalone

-> Ubisoft motion picture group's proprietary renderer.

-> Spectral Studio (no more available as public, still used as in-house renderer)

-> Helios GPU + OSL Project

-> Paprika NPR Render (no update since 2014)

-> open shading language renderer project




2016/05/03

OPHTALMY Short Film

Here is the reason why I didn't post for so long :

OPHTALMY is a short film I made as an educational project used for teaching in Bachelor Classes.

I used it for teaching rigging, texturing, shading, lighting and compositing.

Enjoy !


Ophtalmy from François Gastaldo on Vimeo.

2015/12/31

Happy New Year !

Happy new Year 2016 to all!

With a lot of RIRE!

Bonne Année 2016 à tous, avec beaucoup, beaucoup de Rires !

for this new year, new features:
- IBL
- better Light tracing (not yet full bidi...)

And soon, RIRE in classroom!

2015/12/26

Christmas 'pour RIRE'

RIRE, the Full OSL Path Tracing, is going on!

Currently, the main problem is … Time! Not rendering time, but finding time to continue it and made a ‘usable for education’ version.
Indeed, there are some new features.

Choosable materials: As the ‘setmessage’ is not implemented in Cycles, I use objects name to choose the material. I read the name with:

getmessage ("trace", "geom:name" , CurrentObjName ) ;

then I read the material number. It’s very limited, but it works!

There is also a new Lighting rendering included (with cleaner code).

On the way, there is IBL and more complex materials…

To be continued…

2015/12/07

Artistic control on Path Tracing: Bouguer Factor included in RIRE

Usually, many path tracers over the CG market lack of any artistic control over the rendering.

There is nothing to have control of lighting on an artist point of view: contrast, flatness, hardness.

All you can do is working on Tone Mapping or on image post processing. It means that it is near impossible to preserve textures, colors or materials while doing such image degradation.

I implemented the BOUGUER FACTOR’ in RIRE (Renderer inside Renderer).

The Bouguer Factor is a true control over Path Tracing for artist.
It allows, with:
- small value: very bright and soft lighting.
- bigger value: very dark (noir) and hard lighting.

All without compromising lighting realism (same number of bounces), while maintaining texture, colors and materials.

The use of the Bouguer Factor is just another good reason to do not have to add an Ambient Occlusion Pass to your rendering, and then have less render time. (Indeed, if you still need one, just use GAO).

Here are some examples: