Attribute precedence incorrect?

   Views 3216   Replies 4   Subscribers 2
User Avatar
Member
164 posts
Joined: 4月 2008
Offline
According to help page: http://www.sidefx.com/docs/houdini12.0/model/attributes [sidefx.com]

When two components in the same geometry have an attribute with the same name, the attribute on the lower level of geometry is used, so:

Vertex overrides point
Point overrides Primitive
Primitive overrides Detail

How ever in the attached example Vertex overrides Point and Point overrides Vertex.
Is this the expected behaviour?

Attachments:
attributePrecedence_v001.hipnc (90.1 KB)

Nick Nimble

VFX blog - http://www.nicknimble.com [nicknimble.com]
Facebook - http://www.facebook.com/nicknimble [facebook.com]
Twitter - https://twitter.com/Nick_Nimble [twitter.com]
User Avatar
スタッフ
2652 posts
Joined: 7月 2005
Offline
houdinick
According to help page: http://www.sidefx.com/docs/houdini12.0/model/attributes [sidefx.com]

When two components in the same geometry have an attribute with the same name, the attribute on the lower level of geometry is used, so:

Vertex overrides point
Point overrides Primitive
Primitive overrides Detail

How ever in the attached example Vertex overrides Point and Point overrides Vertex.
Is this the expected behaviour?

If you look very carefully at the info for the point SOP (green), you'll see that magically Houdini has silently removed the vertex color for you. Historically, someone felt that there should never be point and vertex attributes of the same name, so Houdini will remove one for you.
User Avatar
Member
164 posts
Joined: 4月 2008
Offline
Ah ha! I didn't notice that. I'll pay more attention next time.
Thank you mark :-).

I don't encourage the idea of having multiple attributes of different classes with the same name on geometry. But I'm researching the topic of attributes for a future in-depth houdini class I'm going to teach.

The rule for matching attributes of different classes is:
Vertex overrides point
Point overrides Primitive
Primitive overrides Detail

but the exception is:
Vertex and Point attributes with the same name are not allowed to reside next to each other on the geometry, so the creation of the latter clears the existing one.
Nick Nimble

VFX blog - http://www.nicknimble.com [nicknimble.com]
Facebook - http://www.facebook.com/nicknimble [facebook.com]
Twitter - https://twitter.com/Nick_Nimble [twitter.com]
User Avatar
Member
9058 posts
Joined: 7月 2007
Offline
houdinick
but the exception is:
Vertex and Point attributes with the same name are not allowed to reside next to each other on the geometry, so the creation of the latter clears the existing one.

I never noticed that this happens, good to know (but I don't like it )

however, if that was the case all the time then the rule Vertex overrides Point would be redundant, knowing that having attribute with the same name of both types (vertex and point) cannot happen

but in reality it can happen, try to merge 2 geometries one with Point second with Vertex version of the attribute, houdini keeps both
and if you append Attribcreate SOP, Vertex SOP, Point SOP, … after that merge you can even modify any of those attribs without the second being removed

the question is why someone felt that vertex and point attribute of the same name shouldn't be present at the same time? There is a rule that in that case Vertex attributes have priority in render so I see no reason not having them there if I need both, it would be nice if this automatic removal process was not happening, RFE maybe?
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
164 posts
Joined: 4月 2008
Offline
tamte
the question is why someone felt that vertex and point attribute of the same name shouldn't be present at the same time? There is a rule that in that case Vertex attributes have priority in render so I see no reason not having them there if I need both, it would be nice if this automatic removal process was not happening, RFE maybe?

Jup, I agree. Without auto delete procedures should it be just as plain as:
Vertex overrides point
Point overrides Primitive
Primitive overrides Detail
Nick Nimble

VFX blog - http://www.nicknimble.com [nicknimble.com]
Facebook - http://www.facebook.com/nicknimble [facebook.com]
Twitter - https://twitter.com/Nick_Nimble [twitter.com]
  • Quick Links