Game Development Reference
In-Depth Information
tructure and limited vocabulary, not to mention short comings that make invalid
assumptions.
COLLADA is built upon the XML standard for encoding documents electroni-
cally [W3C 08], so all COLLADA documents can be managed by many commercial
and freeware XML tools. COLLADA is defined by its human-readable specification
as well as with the XML-Schema language [X3C 01] so that the COLLADA doc-
uments can be automatically validated, and programming language specific tools
can be used to create APIs that help with loading and presenting the documents.
The objective of this chapter is to present a set of tools (aka, a toolbox) that
can handle COLLADA documents and provide help in dealing with typical issues
encountered. This is by no meanas an exhaustive list of tools, but it includes the
fundamental tools to test, edit, and process COLLADA documents. In practice,
many issues are easy to deal with, and several easy-to-use free tools and technologies
are available.
9.2 Conformance Test
The COLLADA 1.4.x conformance test has been in the works for several years.
Completion of the work effort was announced during GDC 2010 [Khronos Group
10] and made publically available during GDC 2011 [Khronos Group 11c]. The
Adopters Package contains both conformance testing software and documentation
intended to drive rapid evaluation, deployment, and acceptance of the COLLADA
specification. Creating a conformance test for a language is a very dicult process
in and of itself, and has never attempted by a Khronos working group in the past.
All prior work was done to create a conformance test for an API which is easier
to design since an API has well defined inputs, outputs, and fits the model of
established software testing methodologies.
The goal set for COLLADA conformance testing is to make sure the content is
understood, or at least not changed in a destructive way by a given application. One
way to test COLLADA is to create a matrix of all the applications to be tested, and
make sure that content exported by one application can be loaded by any another
application. Testing N applications for M features would involve N × ( N − 1) ×M
tests, which is not practical. The problem with this methodology is that is does
not provide a way to know which application is conformant and which is not. If an
application fails to communicate with another, it should be clear which one of the
two is at fault. In fact, we need a way to test the conformance of one application
independently of the others.
Another diculty with COLLADA conformance testing is that the COLLADA
specification defines the content, but does not define what the application should be
doing with it. This is a design strength of COLLADA, as it does not limit its usage
to a particular domain of workflow, but this makes it dicult for the conformance
test, since unlike a graphics API such as OpenGL, there is no expectation of what
Search WWH ::




Custom Search