-
Notifications
You must be signed in to change notification settings - Fork 6
Description
This started as a follow up of #27 of the Blender Host, from which a lot of relevant insights and ideas emerged.
Already integrated:
- (2B) Add a
kOfxMeshPropNoEdgeboolean property turned on by default, that one must turn off when building a mesh with loose edges. - (2C) Add a
kOfxMeshPropConstantFaceCountproperty type to meshes to skip the use of thekOfxMeshAttribFaceCountsbuffer when it is not -1. - (2D) Add a
kOfxMeshEffectPropIsDeformationboolean property turned off by default that one can turn on to speed up processing when the effect does not affect connectivity. - (B) Add a way for effects to request attributes to the host
- Add semantics (
kOfxMeshAttribPropSemantic) to attributes in order to flag their usage (UV, weight group, etc).
Summary of the proposals:
Unsolved issues:
- How to list the available attributes in a mesh
Rejected:
- (2E) Introduce arbitrary edge attributes (kOfxMeshAttribEdge) with no such attribute by default
A solution for (B) would indeed take place during the Describe action. And this is needed beyond just connectivity: an effect must be able to tell whether it needs UVs or not, or this or that specially named attribute, etc. It would enable sending only the relevant attributes, and also let the Host's UI tell the user about important missing attributes. I imagine this as a set of kOfxInputProp* maybe.
@tkarabela Regarding your issue (A), there's this little advertised fact: It is possible already to point the output at the same buffer as the input, for unchanged attributes, and in particular for connectivity information when the effect only is a modifier.
About the "knowing the exact edge count in mixed cases" problem, do you believe that iterating once over the faceCounts attribute prior to allocating teh mesh introduces too much overhead? I think that anyway that's how many plugin writers would fill the loose edge count property anyways.