350 likes | 444 Vues
COLLADA 101 Everything you ever wanted to know about COLLADA. Bruno Patatas Chairman & CEO PixelBox Academy Inc. About PixelBox Academy. Founded in 2004 in Japan. Offices in Japan and Portugal. Provides training on COLLADA, Cg, RenderMan, Gelato and Mental Ray.
E N D
COLLADA 101Everything you ever wanted to know about COLLADA Bruno PatatasChairman & CEO PixelBox Academy Inc.
AboutPixelBoxAcademy • Founded in 2004 in Japan. • Offices in Japan and Portugal. • Provides training on COLLADA, Cg, RenderMan, Gelato and Mental Ray. • First training institution to offer a course on COLLADA: “COLLADA 101”. • COLLADA on XNA is part of the upcoming course “XNA Foundation”. • New COLLADA online course to start on May: “COLLADA Physics”.
And announcing at GDC... COLLADA In Production – DVD This two hours DVD will cover all the ins and outs of COLLADA in a production environment. More information will be available at March 15th at PixelBox Academy website. The DVD will be available on May at PixelBox online store and at our offices in Japan and Portugal.
COLLADA is an industry standard • Intermediate Digital Asset Exchange format (.dae) • XML schema technology • Adopted as industry standard by The Khronos Group (Home of OpenGL and OpenGL ES) since January 2006 • COLLADA 1.4.0 is the first standard specification
COLLADA - Goals Ease content development and prototyping, by Freeing your data from your 3D modeling program Getting collaboration from all 3D tool manufacturers Making import/export simple
COLLADA status and roadmap • • Thousands of active users • 10-15% game developers currently using COLLADA • • Adopted by Google Earth for the 3D models • COLLADA gets mainstream? • • Many more tools support • Houdini, SketchUp, DAZ • • 3D models available to COLLADA users • http://www.daz3d.com • http://sketchup.google.com/3dwarehouse/ • • Official conformance test in development. • - Early access available to Khronos members • - Free reference viewer
1.4.x – the stable standard • 1.4.0 Released by Khronos on Jan 2006 • 1.4.1 Released on June 30th, 2006 • Primarily fixes issues with FX and material bindings • backward compatible service release • 1.4.0 documents validate against the 1.4.1 schema • 1.4.0 applications can import 1.4.1 documents • 1.4.2 Scheduled 1Q 2007 • Addtion of profiles to FX: Syndication, OpenGL ES 2.0 • Thousands of active users • 10-15% profesional game developers currently using COLLADA • THQ, EA, Konami, NCsoft, DoubleFine, Rockstar … • Unreal Engine, C4 engine, Ogre, Irrlicht Engine, … • Thousands of downloads every months
Tools DCC Support • Providing support since COLLADA 1.0: • 3dsMax, Maya, XSI • Professional grade import/export COLLADA 1.4.x • 3dsMax and Maya • Feeling Software maintain open source • Softimage • Part of the tool (no plug-in) since XSI 5.1 • Beta Available for COLLADA 1.4.x: • SketchUp (Export), Blender (Import/Export), Houdini (Import) • Work in progress: • DAZ, Modo, Lightwave …
Tools Game Engines • Unreal 3D – Epic games famous engine Used for PS3, XBOX 360 by Microsoft, Midway, EA, Ubisoft … • Ogre – Open source, free • C4 Engine (cheap) • Irrlicht Engine – Open source, free • PS3 SDK – COLLADA DOM & RT included • … Most game engines have COLLADA support
Google Earth • Adopted by Google Earth for 3D models • Drag and drop dae assets on the earth • COLLADA content for mainstream users • A LOT OF USERS !! • Many tools targeting Google Earth, now adding support for COLLADA • SketchUp • RealViz • Autocad • Photomodeler • … • 3D models available to COLLADA users • http://sketchup.google.com/3dwarehouse/
Mods • Many games will provide players ability to change the content, and exchange with other players • COLLADA is perfect for this task • Major games coming out with COLLADA Mod support • Already some early adoption
Penumbra Image courtesy of Frictional Games (www.frictionalgames.com)
COLLADA and Open Source For the development of PS3 PSGL Sony decided to go with industry open standards. The list of open standards integrated in PS3 are the following: • COLLADA. • OpenGL ES, a modified version of OpenGL ES 1.0 with extensions specifically aimed at the PS3. • OpenMax, a collection of fast, cross-platform tools for general "media acceleration“, such as matrix calculations. • OpenVG, for hardware-accelerated 2D vector graphics.
COLLADA and Open Source By going in this route Sony had at their disposal technologies with well defined behaviors and the support of several companies. COLLADA is designed through community involvement.
Assets script App. data COLLADA COLLADA Model DCC tools Import/Export Fast Path Viewer 3rd party tools Schema Validation Refinery Conversion Final asset Application Grey parts provided by COLLADA
Documentation • COLLADA Schema is the master document • Tools can help humans to read it – XMLspy • Schema is XML, no need to learn another language • Auto-generate the COLLADA-DOM front end API and documentation • Leverage Schema language as much as we can • COLLADA Specification • pdf format, available in English and Japanese • 298 pages • Tools requirements • Additional rules not encoded in the Schema • Count element has to be equal to the number of values in an array
COLLADA Book Hardcover ~250 pages Guide to 1.4.x specification Idea came from Eurographics’05 Provides insight to why this is designed this way Gives hints to how it may evolve Provides a bit of history Publisher: AK Peters
Design Considerations The COLLADA DOM takes into account the following design considerations, which provide some of the desirable features of the DOM. Simple Data Transformation The COLLADA DOM provides a means for users to write translation code to transform data loaded into the COLLADA runtime database into data structures native to their own tools or engines. The API provides plugin points to eliminate the need to understand the underlying framework in order to write this translation. Replaceable Backend The DOM has implemented a repository-neutral strategy to allow for future uses of the COLLADA DOM with database systems based on XML or binary data representations. In this way, the COLLADA DOM eliminates any dependence on a particular underlying specification format. Schema Driven The runtime database uses structures derived directly from the COLLADA schema. The C++ definitions of these structures are generated automatically and are therefore always consistent and accurate. This correspondence means that the DOM can be kept in sync with the COLLADA schema as it is further developed.
FCOLLADA – Free Open Source • Open-source C++ library for COLLADA interoperability. • Used by ColladaMaya, ColladaMax • Higher level than COLLADA-DOM • Easier to use • Hides some of the complexity (can be positive or negative) • Used by the Feeling Software Viewer
COLLADA FX • COLLADA FX enables authors to describe how to apply color to a visual scene. It is a flexible abstraction for describing material properties across many platforms and application programming interfaces (APIs).
FX Elements – Allow the Description of: • Abstract material definitions (for example, plastic) • Effect parameterizations (using <newparam>) • Effect metadata • Binding to the scene graph • Multiple techniques • Inline and external source code or binary
Profiles Overview COLLADA 1.4 includes 4 standard profiles: • profile_commonfor basic interchange between DCC tools • profile_CGfor OpenGL and NVIDIA’s Cg Shading Language • profile_GLSLfor OpenGL and the OpenGL Shading Language • profile_GLESfor OpenGL ES 1.0 and 1.1
Vertex Streams Index Streams Vertex Assembler Samplers Textures Vertex Shader Constants Primitive Assembler Primitive Clipper Rasterizer Textures Samplers Fragment Shader Constants Effects Output Merger
Refinery – Content Pipeline Tool Free, Open Source • Prototype tool chain • Java based user interface • C++ (dll) conditioners • Can run as a batch (command line), once conditioning pipeline established • Triangulate • Optimize (T-mesh) • File cleaning (kmz files) • Conversion (1.4.0 -> 1.4.1) • Axis conversion (X_UP -> Y_UP) • Coherency tests are conditioners • … Expect more conditioners in the future, or create your own
COLLADA Contest – Golden Pineapple Award Participants must write one or more conditioners for the COLLADA Refinery. Example entries are: • An importer conditioner (load .3ds, .obj, .x3d, .vrml, cad, terrain ) • An exporter conditioner (to a game engine, or other formats .3ds, .obj, .x3d) • Data processing for content pipeline (processing of geometry, optimization, conversion) • Debugging and monitoring tools (statistics, diff tool) • Automatic LOD generation - takes a geometry and creates a specified number of LOD geometries with names like (GeometryID)_LOD_1
Standard Slide without subtitle Online Resources PixelBox Academyhttp://www.pixelboxacademy.netCOLLADAhttp://www.collada.orgKhronos Grouphttp://www.khronos.org COLLADA Contesthttp://www.colladacontest.com