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 13 / 03 / 2017, list version: 5.

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

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

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

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

-> Clarisse 3 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...)

-> Arnold Render

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
-> Cycles standalone

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


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:
- better Light tracing (not yet full bidi...)

And soon, RIRE in classroom!


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…


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:


RIRE, the OSL Path Tracer: some improvements

RIRE, our full OSL Path Tracer 'pour rire', is going on !

The last improvements are :
- Better Russian Roulette (still need more improvements).
- Shortest Path evalutation, with Back Directionnal Path Tracing.
- Better mixing between direct light and environment contribution.

Now, some comparisons with Cycles, even if comparaison is not reason ! RIRE is about 30 to 40% slower. Indeed, it's faster than expected !

Comparaison : 200 Samples, 64 bounces max :

Cycles :

Now, with just 20 Samples! :

Cycles :

And just some test render :

To be continued!


RIRE : A Path Tracer in OSL

RIRE stands for: Renderer Inside REnderer.

It also means that it is a renderer ‘pour rire’, (French expression meaning ‘not for real’).

RIRE is a Brute Force Naive Path Tracer, entirely written in OSL, and could be run (with some adjustments) on any good OSL Renderer, like AppleSeed or Cycles.
Just put a plane in front of your camera, and watch through the RIRE Rendering!

It is made only for educational purpose! It has absolutely no pretention for production, not even being fast. It is just to show and understand how a Path Tracer is made.

Indeed, here are the first results from the first version :

2 bounces:

32 bounces:

256 bounces:

Real scene, 64 bounces:

To be continued...


The Juggler is back, in OSL!

OSL is a very powerful and high level shading language. It’ near possible to do anything with it, even the most unexpected shaders!

As I was working on the FOSPHORE project, I was thinking “… spheres, spheres, spheres, just like the very first 3D on personal computers… “ and Wosh! I rushed back in time, in 1986, to Eric Graham’s Juggler.

It was a true milestone in Computer Graphic! If we are using 3D software on our PC now, it’s also because, one day, a small Juggler animation told us “it’s possible to do it without Mainframe Computer, with the computer on your desktop!”.

So, here is my OSL version of the Juggler!

I try to do it as close as possible to the 1986 rendering. So I wrote a true Minimalist Ray Tracer inside the OSL shader.

This shader is near Real-Time. And you can play with it inside Blender! (The first Juggler was more than one hour rendering time on Amiga computer in 1986, in 320x200 pixels).

You can DOWNLOAD the .oso shader file and use it in Blender here.

I didn’t release the .osl yet. I first need to clean up the code, and add a ton of comments!

As it is a .oso, it would not work on other renderer than Cycles. Indeed, you could try it, as the only closure used is ‘emission’. I focused on Blender because of real time Cycles visualization.

I didn’t include options for polygon orientation, or XZY/XYZ choice.
If you are interested, just post a comment and I’ll do it asap!


The Juggler OSL Shader from François Gastaldo on Vimeo.


FOSPHORE part Two: inside the RGB Cube

Here is the second part of the FOSPHORE OSL Project!

FOSPHORE_RGB turn any object in an RGB Cube made of spheres, thousands or even millions of spheres if you want!

FOSPHORE_RGB just need a 6 polygones cube to let you explore the RGB Cube!

It’s an OSL Shader.

No sphere is really created, and no memory is used.

The current version is not yet releasable. There are still some adjustments to do to let you play with it without unexpected results.

But the first results are amazing!!!


FOSPHORE First look !

FOSPHORE is an OSL Project made for education.

Full Of SPHere On REndering

The goal is to make some shaders using ‘in shader sphere rendering’.

Those Open Shading Language shaders convert any object to a bunch of spheres! With them, you can have a 6 polygones cube looking like one million spheres at rendering time, with no RAM overload.

This is purely shading: no particule, no molecular nor granular plugins. Just apply the shader to your object to turn it to thousands of spheres.

The main interest of those shader is education! They are not yet Production Ready Shaders!
The speed of those shaders is not so smaller than converting object to real sphere particules.
The granular tests made with Softimage ICE are even faster! (But it is Softimage ICE… Rest In Peace Softy)

In this post, you can see the first results of FOSPHORE_FILL.

This first shader fills an object with spheres of chosen size and space.
You can randomly change size, place, color… It’s also possible to animate the noise and the spheres.
There is no limits to the number of spheres, and you could have thousands and thousands spheres in your object!

Unfortunately, the shader is not yet to be released. There are still some bugs, and some optimization is needed. I also have to make it to work correctly with VRay.



GOA 1.2, updated version.

Here is the new version of GAO, the multipurpose OSL Ambient Occlusion.

There is just one new fonction : Self Occlusion Only

When self occlusion is on ( value = 1 ), the ambient occlusion is just for this object, and ignore all others.

This is very useful when using GAO for texture purpose or for dirting an object.

Download and enjoy the new GAO 1.2 !

Warning: this version doesn't work with VRay.