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 !

GAO Ambient Occlusion Tutorial !

It's cool to see works done with my shaders, and this tutorial, by Gleb Alexandrov is a very nice one !!!

Gleb Alexandrov is a 3D artist doing impressive works using Blender, like this one.

He offers us a nice tutorial to show how to use AO for 'dirting' objects :

"Today we'll explore yet another way of making procedural dirt (ambient occlusion) in Blender, using OSL shader by Francois Gastaldo.

Note that I'm using modified version of this shader, posted by BAO2 on Blenderartists.

Original version: http://vadrouillegraphique.blogspot.n...

Rocket Artillery model by SONGKRO on Blendswap.

THANKS for this work Gleb !

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


Fast Multi Channel Ambient Occlusion

First, Welcome VRay to OSL World !

To celebrate Chaosgroup VRay entering the OSL world, with it's 3.0 version, here is a Three Ambient Occlusion for the price of One !

This shader is an Ambient Occlusion, but it does what a lot of you already do by hand: put 3 different AO, each on a different color channel.

Then, you just have to sepparate RGB channels with you favorite compositing software. The main advantage of this shader is that it optimaze rendering time by do not triple shading.

There is two versions of the shader :
TriGAOVr.osl : it's 100% Vray 3.0 compliant version !


TriGAO.osl : this version is for renderer implementing the 'getmessage' OSL functionnality, like Cycles or SpectraStudio.
It is about 30% faster, as it tracing just one ray for the three AO. It has a smoother AO gradient, needing less AntiAlias.

Small Documentation :
AO Angle : Occlusion search angle in RADIAN, 1.0 = 180° AO search.

Maxdistance : Limit of distance of occluding object.
The smallest it is, the smallest scene detail are highlithed by AO.
If there is Green and Blue AO, Maxdistance is for RED only.

GreenAODistance : Limit of distance of occluding object for GREEN channel.

BlueAODistance : Limit of distance of occluding object for BLUE channel.

OverSampling : multiply the number AO ray rendered.
doing 5 render samples with 10 OverSampling AO rays is faster than doing 50 render sampling with no Oversampmling.

The TriGAO.osl version has no checkbox for Green and Blue AO. Disable them with 0.0 value.

The TriGAOVr.osl has a BoostExposure control to compensate Render Exposure Control.

For Vray, or any renderer, you can download TriGAOVr.osl here.
Or TriGAOVr.oso, ready to use, version here.

For Cycles and other renderers using 'getmessage', download the TriGAO.osl version here.


Lowkeying, au coeur du Clair-Obscur

Le LowKey, le clair obscur, les images sombres me fascinent. Hélas, il est dur de les réaliser en numériques, tant la plupart des écrans ne peuvent rendre justice à ce traitement trés sombre des photos.

Voici tout de même quelques photos, en LowKey, prises dans les Pyrénées l'été dernier.


Happy New Year to All !!

Happy new year to All !

I wish you a year full of nice shading, cool OSL scripts, and gorgeous 3D renders !

Here is a small 2014 animation, made with IRay, 3DSMax and gwivy :

Happy new Year 2014 from François Gastaldo on Vimeo.


PYLA 1.3 : Faster than base material !

Pyla is still evolving, and here is version 1.3, with optimization!

Pyla is not a slow shader. Usually, using it slows down your render time by just 2%.
Indeed, I'm trying to get it faster.

With this new version, your object with Pyla can be rendered faster than just the base shader!

In fact, you have to choose wich layer will appear in secondary reflections (reflects, transparency, indirect lighting...). If you choose the fastest of your shader, base or layer, you can cut your render time by up to 30%.
You can even choose to have a Black Closure (Null closure) for secondary, and you render could up to 60% faster!

Complementary documentation for PYLA 1.3:
MaskLayer = Put here a mask image to have the layer visible just on the white part of the mask.

Secondary_Layer = Secondary Optimization:
0.0 = NO Optimization, use it for maximum photorealism
1.0 = secondary is Base, use this if your Base shader is faster than Layer Shader
2.0 = secondary is Layer, use this if your Layer shader is faster than Base Shader
3.0 = secondary is black (null closure). This is the fatest render, but could do unwanted result in case of readable reflection of the object.

Optimization is very effective if you have complex layers or base shaders. But if all your layers are already fast to render, it would not be a great help (indeed, there is less needs of optimization in this case).

PYLA 1.3 is dowloadable here : PYLA1.3


Physically Correct Shader Update

Back from two weeks far from Internet, I just discover that my Physically Correct shaders don't work anymore with lastest Blender distribution.

So, I corrected them, and now, it's ok!

Just go to Original Post about Physically Correct Shaders to download the latest version.


QUIP and QUIPCam fast FX shaders

I've made those two OSL shaders to have a fast and easy solution to put my 3D Objects in HDR Environment, without compositing.

QUIP is for Panoramic Camera, it's the easier to use. Just create a ground, plane or grid, and apply this shader to it. It doesn't work if the camera is moving, or with stereo camera.

QUIPCam is for Moving Camera. It's a kind of Spherical Camera Mapping to have a very fast 3D integration result. It's a first step to more advanced 3D integration or FX.
Just create a ground, plane or grid, and apply this shader to it. Then, create objects to mimic the real scene (box for building).
You can do very precise work for real FX, or just lowpoly object if you have fast or far camera moves.
It works very well with stereo camera, and could be used for 2D to 3D conversion.

Documentation :
environment_file = the ful spherical panorama, HDRI is better. It has to be the same as the one in world environment.

gammaEnv = gamma correction of environment image. Use 1.0 or 2.2 to correct the gamma.

WhiteBalance = White balance correction. Often, the environment lighting (IBL) give a colder look.
Use this value, from 3000 to 15000, to correct the warmness or coldness of ground.

Luminance = correct the darkness or brightness of ground.

ZFade = distance to make a smooth transition to the real environment. Your ground plane should be bigger than this value.
Use it a close as you can to have very smooth (invisible) transition.

AODensity = 0.0 means No Ambient Occlusion, 1.0 = completely dark (black) Ambient Occlusion.

QUIPCam has two more parameters :
Origin = Center of the Panorama. Using Z is enough, X and Y are not necessary. The bigger is Z, the bigger the Environment will be.
You may track this vector with the position of a Null Object to make it easier to use.

Pan_Rotation = Environment Rotation.

I've Include a quick tutorial after the demo video. It would help to understand how to use QUIP and QUIPCam.

You can download QUIP, and QUIPCam.

Those shaders are made for educationnal purpose only. Use them in production at your own risk.
Closures are for Blender/Cycles. They could need adaptation for your renderer.
If you use one of those shaders, or both, please credit them and me. Thank you.

QUIP & QUIPCam OSL Shader from François Gastaldo on Vimeo.


An Excellent Work using Pyla

Just a very good use of PYLA and SSS, with a wonderful model and a very nice picture :

Nana By RC

I'm currentely working on PYLA 1.2, the optimized version of Pyla. I just need to do more test rendering...


PYLA Layer Shader Carbon Fiber Tutorial

Working with layers in shading is a really powerful way to obtain Physically correct and realistic materials.

Indeed, it's not so easy to know what to do with PYLA !

So, here is a simple tutorial to learn how to use it.

The example is 'How to do a Carbon Fiber Material'.

I hope it would help you to understand how to use PYLA for better shading in your project.

The fiber Texture :

Enjoy !