KhronosGroup / OpenCOLLADA

652 stars 251 forks source link

Writer stops if `newparam` is declared after its use in `technique` #584

Open lasalvavida opened 5 years ago

lasalvavida commented 5 years ago

From: https://github.com/KhronosGroup/COLLADA2GLTF/issues/196

I'm not sure if this is valid COLLADA or not, but I can't find anything in the spec explicitly forbidding it.

I think the more pressing issue is that the model was exported from Maya and can't be read by OpenCOLLADA.

RemiArnaud commented 5 years ago

the schema is authoritative - spec may have issues in fact, there are many bugs opened against the COLLADA spec awaiting Khronos attention for a few years now.

for this specific issue, please use an xml validator with the schema https://www.khronos.org/files/collada_schema_1_4_1.xsd

another tool of interest is the deaValidator distributed here

RemiArnaud commented 5 years ago

@mcbarnes - FYI

lasalvavida commented 5 years ago

FYI -

@lasalvavida Thank you for your response. Just FYI, Collada 1.4 Spec does enforce newparam appear before technique.

https://www.khronos.org/files/collada_spec_1_4.pdf 8-75, profile_COMMON, Child Elements: Child elements must appear in the following order if present...

Seems like this is a Maya exporter issue. I would still expect OpenCOLLADA to call the IWriter cancel function with a message about the error which it does not appear to do.