Jump to content

VEX Renderstate on Alembic Packed Primitive Attributes


up4

Recommended Posts

Hello,

 

This might be related to another post I made in the rendering section where I can't seem to use the documented style sheet target selectors on Alembic packed primitives (as soon as I unpack them the styles work).

 

I'm also having trouble getting Alembic packed primitive attribute values via the renderstate function (with the "packed:" prefix documented here) which always returns "0" (not found) for primitive attributes I can see on the spreadsheet when I unpack the geo.

 

Does it sound familiar to anybody?

 

Thanks!

 

Vincent

Link to comment
Share on other sites

Not using Stylesheets here (have something else), but the point is that unless you set the property "Declare Materials"  in Mantra/Rendering/Render tab to Save all Shops, then mantra cant see any packed prim materials. 

Link to comment
Share on other sites

Hello! Thanks! Yes, I forgot to mention that I saw a thread about that here. So "Declare Materials" was indeed set to "Save All SHOPS". And it is still not working. Unpacking the alembic geo and using attributes bindings is the only thing that works. I have never been able to get packed attributes with renderstate or otherwise.

Link to comment
Share on other sites

Have you tried regular packed geometry and seeing if renderstate() works there? I'm pretty sure it works for agent primitives. There separate code paths for the renderstate() support so you might be hitting a case where it's not supported or a bug where it causes it to not work.

Link to comment
Share on other sites

Could you be a little bit more specific about what attributes you are trying to read? Alembic Geometry Attributes, Alembic User Attributes or primitive attributes set by Houdini on the Alembic geometry.

My impression is that the renderstate function only queries primitive attributes that have been set on the already packed alembic primitive. Alembic geometry attributes should be accessible through the bind VOP like every other geometry attribute.

 

Cheers,

Dennis

Link to comment
Share on other sites

Hi guys thank you both for your help,

 

I don't know if it's not merely a dumb mistake I made earlier but I updated to 14.281 and now I can see the alembic primitive attributes with the bind SOP without unpacking it first.    So I will stick to this. However I'm curious about renderstate still and would like to know if I should bulletproof my shaders to query attributes values with a renderstate SOP if the bind SOP doesn't find anything. So let's say I have an alembic archive and I want to modify the attributes on the packed geo it contains, why would one not simply unpack it, modify it, and serialize the result back to disk using an Alembic ROP? And how? Furthermore, before using renderstate, when modifying the packed geo is not possible, I would like to use scene Style Sheets (as per my other thread). There too, I can get the Houdini packed primitive style sheet examples working. But I'm struggling to use the same targetting techniques with Alembic.

 

For instance in when using a "*" wildcard for the "target", the following style gets applied:

"target" : "*"

But I can't for the life of me find how to target specific nodes in the Alembic archive using their hierarchical names either from the "abcecho" command line utility (or the object path "picker" in the Alembic SOP or the Geometry appearance editor). And I can't use the "group" attribute test syntax (e.g.: @udim=1001) either. At the time, it seemed related to my failure to query attributes in the shader, but now that the shader is accessing the packed geo attributes just fine, I'm still unable to target my styles properly in the style sheet.

 

If it doesn't ring a bell to anyone just like that, I might post an example Alembic file later.

 

Help is appreciated as always.

 

Thanks.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...