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.



'OSL Shader Writing with compatibility in mind' workshop in Amsterdam!

Don't miss my workshop at the Blender Conference 2014, from 24 to 36 October, in Amsterdam!

'OSL Shader Writing with compatibility in mind'

I'll make a course / workshop about OSL compatibility between renderers and how to get the most of OSL on a multi-renderers production.

I'll talk about :
- OSL Implementation differences,
- Texture Shaders
- Materials Shaders
- 100% OSL shading
- Solution to be compatible between renderers

Examples of OSL shading from Cycles to Appleseed and VRay will be shown.

More information about the presentation Here.



QUIPCAM and PYLA at the Blender Conference 2013

hi !

The Blender Conference 2014 is in a month!

So it's time to remember the Blender Conf 2013, with videos of my presentations of QUIPCAM and MYLA.

The Blender conf is really nice, with a lot of very interesting prestenations.
Blender is near everywhere, so there is presentation about near all CG subject, from game to VFX, via real time vizualisation, shading, OSL (of course!), and a lot more!

Here is the first presentation about QUICKCAM. Beginning is missing due to a technical problem:

The second is about MYLA, and it is very short (start à 33mn 44s):

See you in Amsterdam !


Les Photos déclarent leur indépendances

Youpi en Vadrouille mélange univers 3D et photos depuis le début.

Hélas, il est devenu trop difficile de gérer les deux ! L'abondance de l'un occultant l'autre, et vice versa.

Aussi, Les vadrouilles de Youpi se soncentreront sur la 3D, le shading et l'OSL.

Et pour découvrir mes photographies, je vous invite sur mon Tumblr : Realworldography !
Que des photos, que du monde réel !

Si vous aimez mon travail photographique, abonnez-vous !

'Youpi en vadrouille' is a mix of 3D and photos from the first post.

Indeed, it started to be very difficult to have the two in one blog. Many of one hiding the other, and making navigation difficult.

So, now, Youpi will be more 3D, shading and OSL !

For the photos, you have to welcome my new Tumblr: Realworldography !
Just photos, just from real world !

if you like it, subscribe please !


New Versions of GAO and GAO2 Ambient Occlusion !

Someone of you asked me why GAO is not working on Blender 2.71.

Unfortunately, the bug is not from GAO, so I can’t fix it! The OSL ‘Trace’ Function is bugging on some version of Blender 2.71.x.

Indeed, GAO and GAO2 are working perfectly on the Official Blender 2.71. You can download Blender 2.71 here.

So, I decided to clean up and make GAO ever Better!

What’s new in GAO 1.1 !
1. Closure Ouput now use Input colors! It’s now possible to have colored or even textured Ambient Occlusion

2. New Oversampling function. It adjusts the quality of your AO independently from scene sampling. It’s also possible to have better AO on some object and basic one on others.

3. New Gamma display! GAO is definitively the smoothest Ambient Occlusion! The gamma allows making it smoother or looking more like a true lighting effect.

All new GAO2.1 !
A completely rewritten of the most popular GAO2 by BAO2 from BlenderArtist Forum !

It includes all new things from GAO1.1 with the typical functions of GAO2 added:
1. AO angle in degrees.
2. 3 modes: 1 = Standard AO, 2 = Inverted Normal AO (wear), 3 = both.
3. Inverted Effect that swap the In and the Hit inputs.

The Indirect Illumination option is not yet implemented, sorry.

Download GAO1.1 Ambient Occlusion

Download GAO2.1 Advanced Ambient Occlusion

AND, very very big news : GAO2 for VRay 3.0 !

You have to use it with the VRayOSLMtl !

There is just one material output (no map color only output).

There is just one function different from GAO2 generic OSL :
UseTexture checkbox : when OFF, GAO2 use the color input. When ON, it use the map inputs.

Download GAO2.1 for VRAY 3 ready to use .oso file

Download GAO2.1 for VRAY 3 .OSL source code



OSL Teaching Winter 2014 Results

I'm teaching shading and Shader Writing for years.

During the last Winter Session, in 3D Master at ESTEI, we studied Open Shading Language.

Here is the results, from the first shader to a full workshop :

Shader Writing Courses 2014 Students Work Reel from François Gastaldo on Vimeo.


Evolution of GAO Ambient Occlusion Shader

I would like to present you a very nice évolution of my GAO Ambient Occlusion Shader by BAO2.

He did a more complex version, with inverted AO (edge detection) and some other enhancements.

here is the link to dicover the GAO2 AO OSL SHADER !

ADDEDUM : GAO and GAO2 are updated ! Click here to see the new versions GAO1.1 and GAO2.1 !