© 2004, neolat media - strictly confidential christopher tanner ceo [email protected] collada api...
TRANSCRIPT
© 2004, Neolat Media - Strictly Confidential
Christopher [email protected]
COLLADA API PreviewGDC 2005
COLLADA Tech Talk
© 2005 EMDIGO Inc. – All Rights Reserved.
EMDIGO - content infrastructure and design
• EMDIGO brings the next generation of content and interface design into the embedded and wireless markets
• EMDIGO has technology, design, and production expertise
• EMDIGO▪ Sells interface designs and associated content▪ Licenses its interface engine and associated middleware
▪ Provides content transformation, composition, and management services via its complete interface and media production pipeline
© 2005 EMDIGO Inc. – All Rights Reserved.
Sony, COLLADA, and EMDIGO
• EMDIGO▪ actively participates in the Sony COLLADA standards process▪ chairs the COLLADA Profile/Extensions working group▪ bases its content production tool-chain on COLLADA▪ has extensive expertise in industrial-strength middleware
• Sony Computer Entertainment of America has contracted EMDIGO to provide a reference import/export API for the COLLADA specification.
© 2005 EMDIGO Inc. – All Rights Reserved.
The COLLADA Format and Specification
• COLLADA is designed to be the cornerstone of the next generation of 3D content pipelines
• COLLADA defines graphics concepts via the XML Schema language and an associated specification
• COLLADA success means widespread use, large-scale integration, and collaboration among major partners
• COLLADA is something we should *all* want to exist whether we are developers, middleware providers, hardware vendors, or DCC tool vendors.
© 2005 EMDIGO Inc. – All Rights Reserved.
The COLLADA API Goals
• Bridge the gap between format specification and tool integration
• Validate the XML Schema/specification
• Reduce Integration time and eliminate common bugs
• Provide a migration path as the COLLADA format extends and evolves
• Provide a basis for an extensive conformance test suite
© 2005 EMDIGO Inc. – All Rights Reserved.
COLLADA API – High Level Architecture
© 2005 EMDIGO Inc. – All Rights Reserved.
COLLADA API – Expanded Architecture
© 2005 EMDIGO Inc. – All Rights Reserved.
COLLADA API Example – Setup COLLADA, Load a file_colladaRT = new ColladaRTImportExportRef;
// Load a collada test fileconst char* szColladaFile = “model.xml”;StlDatabaseFactory factory;_colladaRT->setDatabaseFactory(&factory);
//register my colladaViewer integration objects_colladaRT->setIntegrationLibrary(&intRegisterElements);
int res = _colladaRT->load(szColladaFile);if (res != COL_OK) {
REPORT("Runtime database failed to initialize from %s.\n\n", szColladaFile);
return -1;}REPORT("Runtime database initialized from %s.\n\n",szColladaFile);
© 2005 EMDIGO Inc. – All Rights Reserved.
COLLADA API Example – Query an asset
ColladaAsset *pAsset = NULL;
int res = _colladaRT->queryAsset(”geometry”,index,&pAsset);
if (res == COL_OK) {ColladaIntegrationObject *pIntegrationObj =
pAsset->getIntegrationObject();intGeometry *_intGeometry =(intGeometry *)pIntegrationObj;return _intGeometry->getGeometry();
}
© 2005 EMDIGO Inc. – All Rights Reserved.
COLLADA API – Sample Geometry IntegrationvoidintGeometry::create(daeElementRef element){
// INSERT CODE TO CREATE YOU USER DATA HERE// _object = new myRuntimeClass;_object = new myGeometry();_element = element;
}
voidintGeometry::fromCOLLADA(){
// INSERT CODE TO TRANSLATE TO YOUR RUNTIME HERE// myRuntimeClassType* local = (myRuntimeClassType*)_object;// local->foo = element->foo;// local->bar = element->subelem[0]->bar;domSource *source = meshElement->source_array[0];domArray *array = source->array_array[0];domFloatArray &floatArray = array->_value;
// …}
© 2005 EMDIGO Inc. – All Rights Reserved.
COLLADA in Action at EMDIGO
• Maya Skinned, Animated Character (49 Bones, 1862 Tris)• Exported into COLLADA• Imported into our embedded runtime on the ATI Imageon
2300 SDK and running 20+ Hertz
• Thanks ATI for the use of the device!
• Emdigo is extending COLLADA and the COLLADA API to be the cornerstone of its industrial strength production pipeline
© 2005 EMDIGO Inc. – All Rights Reserved.
COLLADA API Timeline
• COLLADA API Milestone 1 – Design ▪ Completed 12/15/2004
• COLLADA API Milestone 2 – Import and Framework Alpha▪ Completed 2/23/2005
• COLLADA API Milestone 3 – Robust Import/Export/Docs▪ Scheduled for COLLADA 1.2.4 Release, April 30?
• Stay tuned for COLLADA 2.0 and enhancements
© 2005 EMDIGO Inc. – All Rights Reserved.
COLLADA API – Possible Future Enhancements
• Integration Helper Library
• Fast Binary Format (still reflective!)
• Full Class Extension/Profile Mechanisms (2.0!)
• Integration with popular DCC and HW Vendor Tools
• Backend plug-in for database systems
• Speed Enhancements
© 2005 EMDIGO Inc. – All Rights Reserved.
[email protected]@emdigo.com
Thank you for your interest
E m d i g o, I n c o r p o r a t e d595 Millich Drive Suite 200 • Campbell, CA 95008Phone: (408) 694-3370 • http://www.emdigo.com