You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Background: cl-wavefront puts vertex data, that is vertex positions and possibly things like vertex normals and uv coordinates into a flat array.
Faces are described as indices into this array.
Vertices with identical positions but differences in other attributes appear to be stored as distinct spans of values in the vertex data array.
The problem: boundary-list relies on vertex indices to identify edges that are incident to multiple faces and thus distinguish boundary edges from inner edges.
This does not work if the "same" vertex is referenced through multiple different indices.
How should this be addressed?
One option would be to make boundary-list accept an optional vertex position array and identify edges by the positions of the referenced vertices.
Another options would be to just not support meshes with this structure.
The text was updated successfully, but these errors were encountered:
Otherwise I don't think it should be a requirement that vertices be fused in general, since it would lead to situations where information has to be destroyed, for instance if you keep extra vertex data out of band.
Otherwise I don't think it should be a requirement that vertices be fused in general, since it would lead to situations where information has to be destroyed, for instance if you keep extra vertex data out of band.
To achieve that, the interface would have to be extended with an additional way of recognizing identical vertices. As one idea, we could add a key parameter which would be supplied by the caller to map vertex indices from the faces array to canonical vertex indices.
Background:
cl-wavefront
puts vertex data, that is vertex positions and possibly things like vertex normals and uv coordinates into a flat array.Faces are described as indices into this array.
Vertices with identical positions but differences in other attributes appear to be stored as distinct spans of values in the vertex data array.
The problem:
boundary-list
relies on vertex indices to identify edges that are incident to multiple faces and thus distinguish boundary edges from inner edges.This does not work if the "same" vertex is referenced through multiple different indices.
How should this be addressed?
One option would be to make
boundary-list
accept an optional vertex position array and identify edges by the positions of the referenced vertices.Another options would be to just not support meshes with this structure.
The text was updated successfully, but these errors were encountered: