OBJ Instance and export attributes to VOP

   4606   5   0
User Avatar
Member
678 posts
Joined: 7月 2005
Offline
I tried send “rot” attribute to my VOP shader via Parameter VOP for modifing shader attributes on render time.
“geo1” works correctly, “instance1” doesnt export “rot” to VOP shader.

I need use this method. Copy and Stamp per primitive attributes to override material parameters not suit for me as, since in my scene about 80,000 objects and evaluting is too slow.

Please, help

Attachments:
test_pid_V2.hip (246.6 KB)

User Avatar
Member
12626 posts
Joined: 7月 2005
Offline
If I'm not mistaken, the “rot” attribute from POPs is a quaternion (and so it has 4 components). I'm not sure VOPs can import that at all, since quaternions are not exposed data types. You might have to use ordinary vectors somehow… so I don't know the solution, just part of the problem. My brain isn't working properly this morning, sorry. :roll:
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
678 posts
Joined: 7月 2005
Offline
From Odforce WIKI MantraInstancing:
“Currently (mantra7) for point instances, the attributes are never passed to the shaders. Thus if you want different shader parameter values for the point instances, you either have to assign different shaders or to hand munge your own point shader attribute strings”


It seems the problem has no solution
User Avatar
Member
678 posts
Joined: 7月 2005
Offline
jason_iversen
If I'm not mistaken, the “rot” attribute from POPs is a quaternion (and so it has 4 components). I'm not sure VOPs can import that at all, since quaternions are not exposed data types. You might have to use ordinary vectors somehow…

I tried to pass attributes which absolutely uses Instanser (me, basically not very well what). But apparently Instancer does not pass any attributes in shaders
User Avatar
Member
12626 posts
Joined: 7月 2005
Offline
I think what might be the issue here is that the attributes on the instanced geometry is passed to the shaders as Parameters (as part of the general mechanism that does this) - and not the attributes from the instancer geometry. However, you can query the attributes on the instancer purposefully using the rendestate() VEX function, I believe. Unfortunately I don't have Houdini in front of me so I can't confirm that that is indeed the function to use - but I think it is.
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
678 posts
Joined: 7月 2005
Offline
Thank you very much. I will check up
  • Quick Links