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

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 VRay

----------> JUGGLER for VRay(Chaosgroup) for 3DSMax(Autodesk) and for VRay for Maya(Autodesk):

You can download the VRAY for MAX shader HERE.

You can download the VRAY for MAYA shader HERE.

Warning : The VRay for Maya shader has NOT be tested!

Use a VRayOSLTex node to load the shader, than connect it to a VRay material (VRayLight works fine).

I prefered using an OSL texture, so it compatible with VRAY, VRay RT, Activeshade and IPR.

OSL Juggler for 3DSMax 2018 with ARNOLD

----------> JUGGLER for 3DSMax 2018(Autodesk) with ARNOLD MaxtoA (Solide Angle) :

You can download the shader HERE.

You have to follow the documentation to add it to MaxtoA (in Installation).

It's a material shader, you have to Assign Material to Selection.

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


MasterClass OSL au BBUG en ligne

Les Masterclass OSL organisées au BBUG, à Bruxelles, sont en lignes :

Indispensables pour tous ceux qui veulent débuter en OSL avec Blender / Cycles !

En français uniquement, désolé...

Et aussi, toutes les MasterClass du BBUG :

Enjoy !!!


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.


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 17 / 09 / 2017, list version: 7.1

Full OSL renderers, with compilation UI
Closure + texture pattern,
ready to use,
in-software OSL compilation
-> 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

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

-> Solid Angle Arnold for Maya
------------------> 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, Pixar Renderman for Maya
------------------> OSL Documentation

-> Clarisse 3.5 IFX
------------------> OSL Documentation

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

-> Octane Render (said as OSL compatible, but no documentation yet about it...)

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



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.


OSL Masterclass !

La Masterclass OSL aura lieu le 27 février à Bruxelles.

Une journée complète sur OSL !

En partant du niveau débutant le matin, j'attaquerai le Shading complexe l'après-midi.

Si le Shading vous intéresse, c'est l'événement à ne pas manquer !

Plus d'informations ici.