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 !

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 !


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 !


PYLA : The PhYsically correct LAyer shader

Working with layers in shading is simple and powerful.

You can design your shader exactly like the real ones : you apply a 'base', and then add layers, like colors, polish, coating, etc.

Maxwell Render is working like this for a long time. Now, Mental Ray introduces 'MILA', which also offers this way of working.

I've shown Layers in Cycles during last Blender Conference, in October 2012. So, here is PYLA, the first OSL version of my layering shader!

PYLA stands for 'PhYsically Correct LAyer Mixer'

This shader is a Physically Correct Shader Mixer for layered Materials. It simulates materials made of multiple coating, or layers, like car paint, polished nails ...

This is a very simple shader, but very powerful !

You could better manage your mixed Materials, in more realistic way, and with better results.

Download : PYLA Shader Layer with OSL

PYLA OSL Layer Shading from François Gastaldo on Vimeo.

documentation :
Base = the base shader, the layer will come on top of it.

Layer = the layer Material.
You can use any shader, except tranparent or glass shader.
Pyla is a mixer, and not a real layer simulation, so tranparent shader should give unwanted results !

Opacity = between 0.0 and 1.0, 0.0 = no visible layer, 1.0 = full effect.

Depth = the depth of the layer.
The thikker the layer is, the less you could see the base. value between 0.0 to 10.0, good value : 2.0.

Fresnel = Fresnel visibility for the layer. a full fresnel ( 1.0 ) is perfect for clear coat simulation.
0.0 = the depth only control the visibilty, and not the fresnel effect.

IoR = The Index of Refraction for the fresnel effect. The greater it is, the more visible is the layer.

Layered (Closure) = Mixed Base and Layer Inputs.

Layer Mix (float) = amount of mixing between the base and Layer.
You can use it to put in a classical Shader Mixer, or a color mixier, as you wish!

* Optimization for faster render.
* Transparent Layer capability.

This shader was edited with Sublime text Editor, with OSL package.

This shader is made for educationnal purpose only. Use it in production at your own risk.
Closures are for Blender/Cycles. They could need adaptation for your renderer.
If you use this shader, please credit it and me. Thank you.


Premiers Hologrammes !

Je vous ai souvent parlé de stéréoscopie ici, avec des Rig, des videos, etc.

Mais tout le monde sait que la seule, la vraie, la plus pure image 3D, c'est l'Holographie !

Je propose donc de découvrir cet art et même de le pratiquer dans un atelier qui aura lieu à l'Open Bidouille Camp, à Bordeaux, le 27 et 28 Avril 2013.

On fera ensemble quelques hologrammes, et vous pouvez même repartir avec votre oeuvre !

Pour plus d'info :

Atelier Holographie

Open Bidouille Camp

Pour info, ces Hologrammes sont réalisés sur plaques LitiHolo.
Le montage optique est basé sur le Starter Kit LitiHolo, un peu modifié par mes soins...

En attendant, voici mes premiers hologrammes :