<<

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 ! - 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

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..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, , 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 – Open source, source-forge distribution – Used in ColladaMaya, ColladaMax, ColladaMotionBuilder, Feeling Viewer…

NEW: All 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 (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 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, , Square Enix, Rockstar) – DCC tools (Autodesk, Softimage, Luxology, , 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 (, Unity2.0)

16 COLLADA – Adoption’06

• 3dsMax (ColladaMax) • Penumbra • AGEIA physics • SketchUp • Agent FX • RealViz • • Blender • Virtools • physics • Warehouse 3D • • XSI (FTK) • DAZ 3D • Fusion • Feeling Viewer • FXComposer 2.0 • Google Earth • • Irrlicht • Kynogon AI • Maya (ColladaMaya) • Multiverse • Ogre • OpenSceneGraph • OpenSG 17 COLLADA – Adoption’07

• 3dsMax (ColladaMax). Horde 3D . Polytrans (Okino) • 3dvia (teapotters) . Houdini . (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) . • Bullet physics . . 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 • 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 • • Autodesk - 3dsMax • NetAllied • StoneTrip • ESRI • Autodesl – Maya • NewTek • Terathon Software • Feeling Software • Autodesk – Motion builder • Newton Dynamics • THQ • Frictional Games • • 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 – 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 , 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 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 “ 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 – 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 in physical space. – Geographic Location – Latitude – Longitude – Both following the WGS84 world geodetic system – Altitude – Following the Google KML conventions: meters above ground or sea level – Because WGS84 elevation is very complex

– Example: -105.2830 40.0170 0

51 COLLADA 1.5 – Node Proxies

• Node Proxies – Added an alternative URL for a – Policy free attribute – Can be used to describe hierarchical: – LOD – Bounding boxes – Progressive or deferred loading

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 - – Standard navigation rules – contains a relative URI – Follow URI resolution rules: – Choose URI “#” fragment – OR document element

– 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