Community
Arnold for 3ds Max
Rendering with Arnold in 3ds Max using the MaxtoA plug-in.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Can I isolate geometry using LPE's in Arnold?

5 REPLIES 5
SOLVED
Reply
Message 1 of 6
abaker976
680 Views, 5 Replies

Can I isolate geometry using LPE's in Arnold?

I've seen in the renderman doc's that you can add object group names to geometry and then use these in LPE's to render only specific pieces of geo. I can't find any documentation on how to do this in arnold. Is it possible?

Thanks,
Aaron.

5 REPLIES 5
Message 2 of 6
Stephen.Blair
in reply to: abaker976

No, not yet.



// Stephen Blair
// Arnold Renderer Support
Message 3 of 6
abaker976
in reply to: abaker976

Thanks for the quick answer!

Message 4 of 6
arenascdaniel
in reply to: abaker976

there is a workaround.
If you write a shader and tag it's closures, you can isolate the tagged closures with the LPEs.

In OSL it would be like this:
closure color diffuse = diffuse(N, "label","MyTag")

then the LPE:
C<RD'MyTag'>.*

writing a good shader it's hard but if you are into it it should work.

You can find some docs here:
https://support.solidangle.com/display/A5ARP/Light+Path+Expression+AOVs
and here:
https://github.com/imageworks/OpenShadingLanguage/wiki/OSL-Light-Path-Expressions

Message 5 of 6
theoSPVCF
in reply to: arenascdaniel

Hello,

 

I'm digging this thread up because I'm trying to reproduce  these workflow: A Custom OSl shader to get per object aov with tag, but without success.

 

Here my osl code

 

shader diffuse(
    color DiffuseColor = color(0.8, 0.8, 0.8),
    output closure color CL = diffuse(N,"label","MyTag"))
{
    CL = diffuse(DiffuseColor);
}

 


and my custom AOV with LPE:

 

C<RD'MyTag'>.*
C<RD['MyTag']>.*

 

 (i tried both).

The end goal is to isolate emission contribution from differente emissive object. So i tried also without succes:

 

shader emit(
    color EmitColor = color(1, 1, 1),
    float Intensity = 1,
    output closure color CL=emission("label","MyTag")
)
{
    CL = emission() * EmitColor * Intensity;
}

 

 

C<O.'MyTag'>


 

Message 6 of 6
theoSPVCF
in reply to: abaker976

Ok I make it work eventually.

OSL shader

shader emit(
    color EmitColor = color(1, 1, 1),
    float Intensity = 1,
    output closure color CL=emission("label","mytag")
)
{
    CL = emission("label","mytag") * EmitColor * Intensity;
}

 

LPE

C<R><O.'mytag'>


Which give me only the emission for the object with the osl shader.
To be honest i tried random combination for the regex LPE until it work, so it's may not be the correct way to do that.



 

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

Post to forums  

Autodesk Design & Make Report