I’m a newbie to COLLADA, but I like what I’ve seen so far. Great job!
I just had a few initial questions:
In regards to geometry, I noticed that you can specify vertex attributes (i.e. normals, color, etc), but is it possible to also specify attributes on a per edge, or per primitive basis?
Is it possible to instance a library definition (i.e. <geometry>, <camera>, <light>, etc.) without referring to its id? If not, then how can you instance a definition with no id (since the id attribute is not required)?
For the COLLADA DOM, I saw this limitation in the release notes:
“You cannot build and use the 1.3.1 and 1.4 versions of the DOM simultaneously”
Are there any plans to remove/resolve this limitation in future releases of the COLLADA DOM?
(i.e. have a DOM library that can work with different versions of the COLLADA schema)
On behalf of all the partners who have designed COLLADA… Thanks!
COLLADA geometry is assembled from streams of vertex attributes by primitives. There is no edge representation built-in but you can add edge identifiers as a vertex attribute. Additional edge meta data can be stored as <extra> elements.
No. If you want to instantiate something from a library then it must be located by URL reference and so it must have an id attribute. The attribute is optional for the use-cases where the data is present but not referenced directly.
The limitation is that the generated C++ code is not wrapped in a namespace and 1.3 and 1.4 are distinct namespaces of like named elements (classes). This question would be good to submit to the sourceforge project as a feature request so it can be tracked. There are plans to resolve this limitation in a future release. No ETA though.
We also have plans to develop XSLT based tools to translate instance documents between the two schemas.