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 !


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 :


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 !


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!


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!


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...


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 !


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 !


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.



----------> 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.


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...