Arnold for Houdini Forum
Rendering with Arnold in Houdini and Solaris using the HtoA plug-in.
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LPE ending in L not giving expected result

Message 1 of 7
138 Views, 6 Replies

LPE ending in L not giving expected result

Hi all,

this problem can be replicated with a very simple setup: A camera looking at/through a grid with a transparent texture (transmit AOVs turned off), a quad light behind pointing at the camera (through the "glass").

I want to isolate the transparent contribution of this light. However the LPE "C.*L" will not render anything (render is black)!

C.* will render the light, together with everything else. "C.." will also render the light (but again with too many other things). I want exactly the rays that start at the camera, traverse the glass and then directly hit the light. What am I missing here?


(Houdini 19.0.622, HtoA, Arnold

Message 2 of 7
in reply to: mail

Ok, I figured out that to see the ray paths hitting the light after transparency I should use O instead of L. However I cannot then separate different lights, can I? <O.'lightgroup'> doesn't seem to work.

it says on the bottom here that labels can be added to shaders. How can I do that with a (default) arnold light shader?

Message 3 of 7
in reply to: mail

C.*L is the same as C.* and works in my tests.

if you want just the contribution from one light, put that light in a light group and do C.*<L.'test'>
(test is the light group I used)

You can use pre-defined labels like coat. For any others, you'd have to write your own custom shader that defines a label.

// Stephen Blair
// Arnold Renderer Support
Message 4 of 7
in reply to: Stephen.Blair

Thanks for your reply!
Why is C.*L the same as C.*? As I understand it the first ray path MUST end in a light source, whereas the latter ray path may also end in an emissive shader.

I tried in my small test scene exactly what you suggested: In the setup described above (a camera looking through a single sided grid with a fully transparent texture, "transmit AOVs" off and a quad light behind the glass shining towards the camera) with all kinds of LPEs. "C.*L", "C.*<L.'lightgroup'>" (where I also set "lightgroup" on the light), ... but nothing worked except for "C.*O" - however there I have the problem that I cannot tag O (without learning OSL first to write my own shader it seems) and the AOV will therefore pick up ALL paths ending in emissive surfaces, not just my light.

Can you confirm which version of Houdini/HtoA/Arnold you tested with where this works as expected?

Thanks again!

Message 5 of 7
in reply to: mail

I should add C.* did also work as you suggested, however that way I again couldn't filter out only the rays terminating at the lightsource.

Message 6 of 7
in reply to: mail

a few screenshots of my setup and results:



Message 7 of 7
in reply to: mail

@Stephen.Blaircould you comment please as I'm getting something different than what you suggest.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report