© 2004, neolat media - strictly confidential christopher tanner ceo [email protected] collada api...

14
© 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO [email protected] COLLADA API Preview GDC 2005 COLLADA Tech Talk

Upload: martha-obrien

Post on 18-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: © 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO cct@emdigo.com COLLADA API Preview GDC 2005 COLLADA Tech Talk

© 2004, Neolat Media - Strictly Confidential

Christopher [email protected]

COLLADA API PreviewGDC 2005

COLLADA Tech Talk

Page 2: © 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO cct@emdigo.com COLLADA API Preview GDC 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

Page 3: © 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO cct@emdigo.com COLLADA API Preview GDC 2005 COLLADA Tech Talk

© 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.

Page 4: © 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO cct@emdigo.com COLLADA API Preview GDC 2005 COLLADA Tech Talk

© 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.

Page 5: © 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO cct@emdigo.com COLLADA API Preview GDC 2005 COLLADA Tech Talk

© 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

Page 6: © 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO cct@emdigo.com COLLADA API Preview GDC 2005 COLLADA Tech Talk

© 2005 EMDIGO Inc. – All Rights Reserved.

COLLADA API – High Level Architecture

Page 7: © 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO cct@emdigo.com COLLADA API Preview GDC 2005 COLLADA Tech Talk

© 2005 EMDIGO Inc. – All Rights Reserved.

COLLADA API – Expanded Architecture

Page 8: © 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO cct@emdigo.com COLLADA API Preview GDC 2005 COLLADA Tech Talk

© 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);

Page 9: © 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO cct@emdigo.com COLLADA API Preview GDC 2005 COLLADA Tech Talk

© 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();

}

Page 10: © 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO cct@emdigo.com COLLADA API Preview GDC 2005 COLLADA Tech Talk

© 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;

// …}

Page 11: © 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO cct@emdigo.com COLLADA API Preview GDC 2005 COLLADA Tech Talk

© 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

Page 12: © 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO cct@emdigo.com COLLADA API Preview GDC 2005 COLLADA Tech Talk

© 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

Page 13: © 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO cct@emdigo.com COLLADA API Preview GDC 2005 COLLADA Tech Talk

© 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

Page 14: © 2004, Neolat Media - Strictly Confidential Christopher Tanner CEO cct@emdigo.com COLLADA API Preview GDC 2005 COLLADA Tech Talk

© 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