Eurographics’08
Rémi Arnaud Mark Barnes
1 5th COLLADA @ Eurographics
• Eurographics’04 – Grenoble – COLLADA v1.0 announcement • Eurographics’05 – Dublin – COLLADA v1.3.1 released – Geometry / Material / Animation / Skinning • Eurographics’06 – Vienna – COLLADA 1.4.1 released – Animation Clip / Morphing / Physics / FX • Eurographics’07 – Prague – Stability – focus on adoption – 3D for the Web – X3D collaboration, PV3D • Eurographics’08 – Crete – COLLADA 1.5 announcement
2 Design Goals • Content creation has become increasingly demanding - 3D devices expand in complexity and capabilities - Size of digital content ever growing - Tighter, shrinking production schedules
• Free content from proprietary formats ! - Source data in DCC proprietary format - No collaboration to create such format - Too much effort spent creating exporters - Demand is very high from content creators - Content creativity limited by lack of this technology
• Build a strong Tools & Middleware ecosystem - Need flexibility configuring content pipeline - Enable mixing of tools for better productivity - Opening the door to a variety of third party tools - Need an intermediate language (import and export)
3 Where is COLLADA ?
• In your 3D application – Most applications already support COLLADA – Look for free plug-ins available • Get it on the Web – Get the spec! – www.khronos.org/collada – (1.4.1 rev 2 is 378 pages) – ~15,000 downloads already – (1.5 spec is >500 pages) – Be the first to download – Join the community: – www.collada.org – Google it • Get the book!
4 COLLADA is an industry standard
• www.khronos.org • Founded in January 2000 by a number of leading media- centric companies, including: 3Dlabs, ATI, Discreet, Evans & Sutherland, Intel, NVIDIA, SGI and Sun Microsystems. (currently more than 100) • Dedicated to the creation of royalty-free open standard APIs to enable the playback of rich media on a wide variety of platforms and devices. • Home of 11 WG, including: OpenGL, OpenGL ES, OpenVG, OpenKODE, OpenSL, COLLADA
5 Around 100 companies creating media authoring and acceleration standards Khronos Participation Model
Any company or university can join Khronos to Board decides strategy – Promoters participate in any number of approves working groups, working groups to produce controls budget, ratifies specifications. $$ specifications. $$$ Contributors
A Working Group for each API standard – one company one vote
Openly and publicly distributed – free of Ratified SDKs Conformance Conformance Tests charge, royalty free Specifications Tests and Conformance Test Process. $$ Free libraries, utilities, examples, Adopters open source Conforming products can Get your COLLADA spec and schema here! use API www.khronos.org/collada trademark and logo Help Khronos Help You!
• Please consider joining Khronos! – Participate in the building of the standards – Special low cost membership fee for universities
• Please review our specifications and provide feedback – Public forums and developer resources : www.khronos.org/developers
Khronos membership details at www.khronos.org What Problem does COLLADA Solve?
• Content archive and simplification of reuse – Releases DCC and related tool content data into a single recognizable and reusable interchangeable format – Data longevity and accessibility is assured by an open and royalty free standard
• Known as an “intermediate” language – Why? Not trying to define the beginning or end of the pipeline; just moving content along that pipeline – Not designed to be a DCC or authoring tool language – Not designed as a run-time language – Final representation outside scope of COLLADA – Freedom to innovate! – COLLADA provides the stability so DCC and run-time can evolve
9 Benefits to Industry
• Simplifies import/export – Expedites content sharing and reuse
• Encourages collaboration between content developers and DCC vendors – Being a standard encourages adoption – Standards often mandated by companies, nations
• Enables rapid development – Viewers – Samples – Libraries, SDK
• Promotes quality thru conformance testing – Encourages proper use of format
10 Benefits to Academia
• Fully documented and specified – Using XML standard language and Schema – Royalty free – Contribute to standard (University membership) – University of Karlsruhe (GER) joined and participated in 1.5 spec
• Highly extensible – Extend COLLADA and publish extensions specifications – E.g. Thesis adding Renderman shading to COLLADA FX system – Extension repository on collada.org
• Use and contribute to open source tools – Viewers, samples, libraries, modelers, sdk…. – Most sources are MIT license, hosted on source-forge – Share content and tools with Universities at no cost – Rapid development for short projects
• Use for commercial projects – Enable users to load/save content in a format they can use – COLLADA is royalty free for commercial or non commercial projects
• Research content encoding and data structures issues – Collaborative development, rich content databases, virtual worlds exchange, data compression, physics, geometry and topology stand-alone tools… 11 COLLADA –APIs and sample code
• COLLADA DOM – read, write, access data – Open source, source-forge distribution – In place data access – avoid costly data duplication – Front-end generated automatically from Schema (C++) – Back-end as plug-in – libxml backend, database backend – Code generator (php script) source code -> add your own extensions to DOM
NEW: COLLADA 1.4.1. DOM 2.0 released
• FCOLLADA – read, write at higher level – Open source, source-forge distribution – Used in ColladaMaya, ColladaMax, ColladaMotionBuilder, Feeling Viewer…
NEW: All Autodesk Plug-ins Open Sourced on sourceforge
• COLLADA Refinery – processing content framework – Open source, source-forge distribution – User interface to create the conditioning pipeline – C++ conditioners can be combined – Batch mode for execution in the build process • Coherency test – XML validation + content coherency checker – An open source Refinery conditioner • COLLADA RT – Open source, source-forge distribution – COLLADA RT – example Run Time / viewer (PC (openGL), PS3 (PSGL)…) 12 – COLLADA CFX – FX loader for Cg shader (companion to RT) COLLADA timeline
• Unveiled at 2004 SIGGRAPH Tech Talk to standing room only audience
• First Khronos spec 1.4.0 – January 2006
• Spec 1.4.1 – June 2006 – most adopted (voted most popular by industry standards)
• Spec 1.5 released April 2008
13 COLLADA workflow : conditioning pipeline Game specific tools DCC tool Game Engine Run Time
Export .dae Conditioner Conditioner …
Geometry optimization Normal Map computation Data streaming optimization Hardware specific optimization ….
14 COLLADA data centric model
DCC tools DCC tools DCC tools Fast Path Viewer 3rd party tools COLLADA
Schema Refinery Validation Final Conversion / Compilation
Final asset Application
15 COLLADA adoption map
• Game Developers – Many using COLLADA now (Epic, Crytek, Square Enix, Rockstar) – DCC tools (Autodesk, Softimage, Luxology, Blender, Daz3D) • Hardware vendors – RenderMonkey [shader editor] (AMD) – FX Composer 2.0 [shader editor], NVSG [scene graph] (Nvidia) – Inscriber G7 [Broadcast Graphics System] (Harris) • CAD & Automation – AutomationML (Daimler, ABB, Siemens A&D…) – GIS – Google Earth, SketchUp & 3D Warehouse (Google, Adobe) – GeoCOLLADA (OSGeo, OGC) – X3D Earth (Web3D companies) – Virtual Earth (Microsoft, Dassault, Allegorithmic) • 3D for the Web – Flash (PaperVision3D, Unity2.0)
16 COLLADA – Adoption’06
• 3dsMax (ColladaMax) • Penumbra • AGEIA physics • SketchUp • Agent FX • RealViz • Unreal Engine • Blender • Virtools • Bullet physics • Warehouse 3D • C4 engine • XSI (FTK) • DAZ 3D • Fusion • Feeling Viewer • FXComposer 2.0 • Google Earth • Houdini • Irrlicht • Kynogon AI • Maya (ColladaMaya) • Multiverse • Ogre • OpenSceneGraph • OpenSG 17 COLLADA – Adoption’07
• 3dsMax (ColladaMax). Horde 3D . Polytrans (Okino) • 3dvia (teapotters) . Houdini . Poser (eFrontier) • AGEIA physics . Irrlicht . Quest3D • Agent FX . jME . SketchUp . Kynogon AI . RealViz • Anark . MADLIX . Remo3D • Autocad . Milkshape 3D . RightHemisphere • BitManagement . Maya (ColladaMaya) . ShiVa . Menus Master . TrueSpace • Blender . Microstation (Bentley) . Unity • Bullet physics . Modo . Unreal Engine • C4 engine . MotionBuilder . Unwrap 3D • DAZ 3D . Multiverse . Virtools . NVSG . Warehouse 3D • DeleD . Ogre3D . XSI (Crosswalk) • DX Studio . OpenSceneGraph . XSI Modtool • Flash (Papervision3D). OpenSG . … • Flux . Penumbra Photoshop (Adobe) • Fusion . • Feeling Viewer
18 COLLADA – Adoption’08 (partial list)
• act-3D • Crytek • Kynogon • Physics Abstraction Layer • Activision • Daimler • Lightsprint s.r.o. • RadTools, Inc • Adobe - Photoshop • Dassault – 3Dvia • Luxology • RealViz, Inc • Adobe - Acrobat • DAZ Productions • MADLIX • Remograph • Media Machines • Right Hemisphere • AGEIA • Delphine 3D Tools • Double Fine • Motion Node • SG57 • Agency 9 • eFrontier • Multiverse • Side Effects Software, Inc. • Aika • Electronic Arts • Neoflash • Sony SCEA R&D • AMD / ATI • • SoftImage • Ensemble Next Generation Graphics • Anark Engine • Square Enix • Epic Games • Autodesk - 3dsMax • NetAllied • StoneTrip • ESRI • Autodesl – Maya • NewTek • Terathon Software • Feeling Software • Autodesk – Motion builder • Newton Dynamics • THQ • Frictional Games • Away3D • N-Sided • Ultimate UnWrap 3D • Gamr7 • Nvidia – FXComopser • Unity Technologies • Bentley Systems • Garage Games • Nvidia - NVSG VERTICE • Biodroid Entertainment • German Archaeological Group • Virtools, a Dassault Co. Institute • OGRE 3D • WorldForge • BigStage Bitmanagement • Geomerics • Okino • Blender • Omegame • Worley Works Productions • Google • Worldweaver LtD. • Bit Management • IMSI/Design • Open Scene Graph • Bullet Physics • Illusoft • Papervision • xNormal • Java Monkey Engine • PARTsolutions • Yumetech, Inc. • Konani • Planet 9 Studios, Inc. • 3D Nature LLC
19 COLLADA for end-users
• 3D content repository – Geometry + material – 3D warehouse – Evolving to rich content – DAZ 3D – full skinned models – Physical properties/collision – Advanced material • 3D for everyone – Flash 3D engines (flash, away3D) – Photoshop can now use 3D models in image creation – Google earth most popular 3D application • Community – MOD community – Virtual world interchange
20 Photoshop: 3D in 2D layers
21 • Crytek - XSI MOD tutorial – user generated content
http://www.softimage.com/news/newsimages/2008_02/xsi_cryengine_2.jpg
22 Crytek/Softimage Press Release 2008
• “The combination of SOFTIMAGE|XSI software and COLLADA integration with the CryENGINE 2 is opening new doors in the realm of 3D imaging and character creation for next-generation games. As the complexity of game development mounts, with …, SOFTIMAGE|XSI software is quickly becoming a preferred solution for developing games in the critically acclaimed CryENGINE2.” – Michael Endres, art production manager, Crytek GmbH with Marc Stevens, general manager of Softimage, Co, and vice president at Avid Technology, Inc.
At http://planetcrysis.gamespy.com/?category_id=10149
As shown by Softimage in Intel’s COLLADA pod at GDC!
23 Flash (papervision3d.com)
24 User content – Berlin in Google Earth
©25 2007 Eurograph SCE ics'07 Cultural heritage – COLLADA & Google Earth (Tech University of Vienna)
26 Palace of Knossos on 3D warehouse
27 1.4.x features - covering game development technology • Mesh Geometry • Transform hierarchy (rotation, translation, shear, scale, matrix) • Materials • Textures • Shader programs (Cg, GLSL, GLES) • Shader effects (FX) • Lights • Cameras • Skinning / bones • Animation • Physics (rigid bodies, constraints, rag dolls, collision volumes) • Instancing • Techniques • Multi-representations • Assets • User data
28 .dae: Digital Asset Exchange
29 Skinning
30 Rigid body physics
31 Morphing
32 COLLADA 1.5
33 COLLADA 1.5
• New Features – Automation and CAD – B-rep – Kinematics – Games and Graphics – Bridge profile to external systems like DirectX – Improved texturing – Improved multi-pass effects – GIS – Geo-referencing of assets – .zae – archive package specification (Zipped Asset Exchange) • New XML Namespace – 1.5.0 schema does not replace 1.4.1 schema – Existing 1.4 documents and tools remain valid – XML Transform tools can migrate data between schemas
34 COLLADA 1.5
B-Rep
35 COLLADA 1.5
•B-rep – CAD systems work on B-rep models – Describes the original model – Exact model can be rebuilt and modified – Complex models need less data than meshes do – More flexible description of complex objects
36 COLLADA 1.5 •B-rep describes object –Topology –Vertices –Edges –Faces –Geometry –Points –Curves –Surfaces
37 COLLADA 1.5 •B-rep Topology –Vertices –Edges –Wires –Faces –Shells –Solids
38 COLLADA 1.5 •B-rep Geometry –Points –Curves - line - circle - spline - … –Surfaces - plane - cylinder - torus - …
39 COLLADA 1.5 •B-Rep Operations – Boolean operations (cut, fuse, intersections) – Blending – Chamfering – Tweaking
40 COLLADA 1.5
Kinematics
41 Vision Geometry Physics Kinematics
Graphical Passive Active representation Systems Systems
Physics IK- Simulation Controller
Fixed animations Controlled animations
Passive Active “Intelligent Systems Systems Systems”
42 Kinematics Models and Scenes
• New elements for kinematics definition: –
– The structure is analogous to COLLADA physics
43 COLLADA 1.5
• Kinematics hierarchies – Handling of closed loops – Specification of dependencies by formulas • Joints – Compound joints – Definition of DoF
44 Kinematics Model
• The kinematics model: – General kinematics description • Definition of links – Defines offset frames for joints • Definition of joints in “zero pose” – Joint type specification – Joint values are assumed to be zero • Optional formulas for dependencies: – Using standard MathML schema – Variable joints limits dependent on other parameters – Direct joint dependencies (E.g. Gear, Screw, …)
45 Mathematical formulae - MathML
Example: Screw formula
46 COLLADA 1.5 – FX Features
• New BRIDGE profile – Supports external hw effects run-times like DirectX – Supports external software renderers • Enhanced Cg profile • New GLES2 profile – Supports OpenGL ES 2.0 • Enhanced Rendering – Image and texture handling – Multi-pass rendering
47 COLLADA 1.5 – FX for external FX
• New BRIDGE profile – Reference external effects systems – Microsoft FX – NVIDIA CgFX – AMD SushiFX
– Extended compatibility and future proofing – Profile level parameter binding
Example:
48 COLLADA 1.5 – FX for GLES2
• New OpenGL ES 2.0 (GLES2) profile – Advanced rendering on mobile devices – Source and precompiled binary shaders – Vertex attribute binding – Uniform parameter binding – Shareable source include and code – Program support – Link together Vertex and Fragment shaders
49 COLLADA 1.5 – FX Rendering
• Enhanced multi-pass rendering – Camera lens passes – Full screen and post-processing passes – Layered rendering
• Enhanced image and texture handling – Texture Creation – Explicitly for 2D, 3D, and Cube maps – Easy initialization from external images like .DDS – Flexible and powerful format definition – Define MIP levels – Define cube map images per-face – Improved render-to-texture for all profiles
50 COLLADA 1.5 – Geographic Location
• Coverage – Dublin Core style asset coverage meta data – Provides information about the location of a
– Example:
51 COLLADA 1.5 – Node Proxies
• Node Proxies – Added an alternative URL for a
Example:
52 COLLADA 1.5 – Archive Package
• Archive Package – New “.ZAE” Zipped Archive Exchange – Standard archive structure – Well known starting point – manifest.xml – Root document -
– Can contain embedded archives (.zip, .rar, .kmz, .zae)
53 Questions ?
Thank You!
www.khronos.org/collada www.collada.org [email protected]
© 2007 SCE Eurographics'07