#1 2010-09-03 15:53:54


output occlusion


I would like to have an occlusion on some objects in the output (aov) of my render layer.
I assigned a trace set of these objects on my occlusion connected in  my render layer
But, Guerilla make me an occlusion on all object

What's the righ workflow ?


ps : sorry for my poor english

J'aimerais sortir une aov d'occlusion directement sur mon render layer
J'ai assigné un trace set de ces objets sur mon node d'occlusion connecté dans mon render layer
Mais Guerilla me fait une occlusion sur toute la scène

Quel est le bon workflow ?


Last edited by Gam (2010-09-03 15:56:50)



#2 2010-09-03 16:41:23

Guerilla dev, the guy to hug

Re: output occlusion

Hi Gam,

There are 2 things to handle here:

- If you want only a few objects to be connected to said output, then you have to remove all objects from the layer and make connections per output. This is because outputs can override layer connections but only in addition. For instance:

Layer A --> connected to objects A, B
   - pass Output --> connected to nothing ==> A, B rendered
   - pass Occlusion --> connected to C ==> A, B, C rendered

This choice to have output to add objects is to have simple connection scheme to simply link objects into outputs, that is you don't want specific linking, just link into the layer and everything is ok, but if you want specific linking then you have to connect every output individually.

- If you want some objects to have specific output per shader, you have to override said shaders output. For instance:

Object A --> connected to Shader sA, with only Color and Opacity outputs
Object B --> connected to Shader sB, with Color, Opacity and Occlusion outputs
Object C --> connected to Shader sC, with only Color and Opacity outputs

Using previous layer linking, assuming that pass Occlusion is connected to a default occlusion node, we have:

Layer A
   - pass Output ==> A, B rendered with Color
   - pass Occlusion ==> A, C rendered with default occlusion, B rendered with specific sB Occlusion output

So, to sum up all this:
- Each layer output renders objects connected to the layer PLUS objects connected to the layer output.
- Each layer output renders objects using the shader output with the same name, or using the shading network connected to the output if no shader output found, or using the default Color otherwise.

Additionally, you can disable an object from receiving occlusion, but this option is generally used to disable occlusion in hair where it is to expensive to compute and better to fake.

Hope I was clear enough wink


Benjamin 'Ben' Legros
Guerilla developer



#3 2010-09-04 15:34:35


Re: output occlusion

Hello Ben
Thanks for your reply.
Now, I understand the concept smile



Board footer

Powered by PunBB
© Copyright 2002–2008 PunBB