eurographics’08 - the khronos group inc · eurographics’08 rémi arnaud mark barnes. 2 5th...

54
1 Eurographics’08 Rémi Arnaud Mark Barnes

Upload: vuongxuyen

Post on 12-Jul-2019

221 views

Category:

Documents


0 download

TRANSCRIPT

1

Eurographics’08

Rémi ArnaudMark Barnes

2

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

3

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)

4

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!

5

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

Around 100 companies creating media authoring and acceleration

standards

Conformance Tests

Khronos Participation ModelPromoters

Adopters

RatifiedSpecifications

Conformance Tests and Conformance Test Process. $$

Conforming products can use API trademark and logo

Openly and publicly distributed – free of charge, royalty free

Board decides strategy – approves working groups, controls budget, ratifies specifications. $$$

SDKs

Free libraries, utilities, examples, open source

Contributors

Any company or university can join Khronos to participate in any number of working groups to produce specifications. $$

A Working Group for each API standard – one company one vote

Get your COLLADA spec and schema here!www.khronos.org/collada

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

9

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

10

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

11

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…

12

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)…)– COLLADA CFX – FX loader for Cg shader (companion to RT)

13

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

14

COLLADA workflow : conditioning pipeline

.dae

Game Engine Run Tim

e

DC

C tool

Conditioner

Geometry optimizationNormal Map computationData streaming optimizationHardware specific optimization….

Export

Game specific tools

Conditioner

15

COLLADA data centric model

Final Conversion /Compilation

Application

Fast PathViewer

Refinery

COLLADA

3rd party tools

SchemaValidation

DCC tools

Final asset

DCC toolsDCC tools

16

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)

17

COLLADA – Adoption’06• 3dsMax (ColladaMax)• AGEIA physics• Agent FX• Blender• Bullet physics• C4 engine• DAZ 3D• Fusion• Feeling Viewer• FXComposer 2.0• Google Earth• Houdini • Irrlicht• Kynogon AI• Maya (ColladaMaya)• Multiverse• Ogre• OpenSceneGraph• OpenSG

• Penumbra• SketchUp• RealViz • Unreal Engine• Virtools• Warehouse 3D• XSI (FTK)

18

COLLADA – Adoption’07• 3dsMax (ColladaMax)• 3dvia (teapotters)• AGEIA physics• Agent FX• Anark• Autocad• BitManagement• Blender• Bullet physics• C4 engine• DAZ 3D• DeleD• DX Studio• Flash (Papervision3D)• Flux• Fusion• Feeling Viewer

Horde 3D Houdini Irrlicht jME Kynogon AI MADLIX Milkshape 3D Maya (ColladaMaya) Menus Master Microstation (Bentley) Modo MotionBuilder Multiverse NVSG Ogre3D OpenSceneGraph OpenSG Penumbra Photoshop (Adobe)

Polytrans (Okino) Poser (eFrontier) Quest3D SketchUp RealViz Remo3D RightHemisphere ShiVa TrueSpace Unity Unreal Engine Unwrap 3D Virtools Warehouse 3D XSI (Crosswalk) XSI Modtool …

19

COLLADA – Adoption’08 (partial list)

• act-3D

• Activision

• Adobe - Photoshop

• Adobe - Acrobat

• AGEIA

• Agency 9

• Aika

• AMD / ATI

• Anark

• Autodesk - 3dsMax

• Autodesl – Maya

• Autodesk – Motion builder

• Away3D

• Bentley Systems

• Biodroid Entertainment Group

• BigStage Bitmanagement

• Blender

• Bit Management

• Bullet Physics

• Crytek • Daimler • Dassault – 3Dvia• DAZ Productions • Delphine 3D Tools • Double Fine • eFrontier • Electronic Arts• Ensemble • Epic Games • ESRI • Feeling Software • Frictional Games • Gamr7 • Garage Games • German Archaeological

Institute • Geomerics • Google• IMSI/Design • Illusoft • Java Monkey Engine • Konani

• Kynogon • Lightsprint s.r.o. • Luxology • MADLIX • Media Machines • Motion Node • Multiverse • Neoflash• Next Generation Graphics

Engine • NetAllied • NewTek • Newton Dynamics • N-Sided • Nvidia – FXComopser• Nvidia - NVSG• OGRE 3D • Okino • Omegame • Open Scene Graph • Papervision • PARTsolutions • Planet 9 Studios, Inc.

• Physics Abstraction Layer • RadTools, Inc • RealViz, Inc• Remograph • Right Hemisphere • SG57 • Side Effects Software, Inc. • Sony SCEA R&D • SoftImage • Square Enix • StoneTrip • Terathon Software • THQ • Ultimate UnWrap 3D • Unity Technologies

VERTICE• Virtools, a Dassault Co.• WorldForge• Worley Works Productions• Worldweaver LtD.• xNormal • Yumetech, Inc. • 3D Nature LLC

20

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

21

Photoshop: 3D in 2D layers

22

• Crytek - XSI MOD tutorial – user generated content

http://www.softimage.com/news/newsimages/2008_02/xsi_cryengine_2.jpg

23

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!

24

Flash (papervision3d.com)

25

User content – Berlin in Google Earth

© 2007 SCE

Eurographics'07

26

Cultural heritage – COLLADA & Google Earth(Tech University of Vienna)

27

Palace of Knossos on 3D warehouse

28

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

29

.dae: Digital Asset Exchange

30

Skinning

31

Rigid body physics

32

Morphing

33

COLLADA 1.5

34

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

35

COLLADA 1.5B-Rep

36

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

37

COLLADA 1.5•B-rep describes object

–Topology–Vertices–Edges–Faces

–Geometry–Points–Curves–Surfaces

38

COLLADA 1.5•B-rep Topology

–Vertices–Edges–Wires–Faces–Shells–Solids

39

COLLADA 1.5•B-rep Geometry

–Points–Curves- line- circle- spline- …

–Surfaces- plane- cylinder- torus- …

40

COLLADA 1.5•B-Rep Operations–Boolean operations

(cut, fuse, intersections)

–Blending–Chamfering–Tweaking

41

COLLADA 1.5

Kinematics

42

Controlled animations

Vision

Physics

PassiveSystems

Geometry

Graphicalrepresentation

Kinematics

ActiveSystems

IK-Controller

PassiveSystems

ActiveSystems

“IntelligentSystems”

PhysicsSimulation

Fixed animations

43

Kinematics Models and Scenes

• New elements for kinematics definition:– <library_kinematics_models>– <kinematics_model>– <library_kinematics_scenes>– <kinematics_scene>

– The structure is analogous to COLLADA physics

44

COLLADA 1.5

• Kinematics hierarchies– Handling of closed loops– Specification of

dependencies by formulas

• Joints– Compound joints – Definition of DoF

45

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, …)

46

Mathematical formulae - MathML

Example: Screw formula

47

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

48

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:

<profile_BRIDGE platform=”DIRECT3D9” url=http://www.YourDomain.com/myEffect.fx/>

49

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

50

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

51

COLLADA 1.5 – Geographic Location

• Coverage– Dublin Core style asset coverage meta data– Provides information about the location of a <visual_scene> 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: <coverage>

<geographic_location> <longitude>-105.2830</longitude> <latitude>40.0170</latitude> <altitude mode="relativeToGround">0</altitude> </geographic_location></coverage>

52

COLLADA 1.5 – Node Proxies

• Node Proxies– Added an alternative URL for a <instance_node>– Policy free attribute– Can be used to describe hierarchical:

– LOD– Bounding boxes

– Progressive or deferred loading

Example: <visual_scene> <node> <instance_node url=”#NODE0” proxy=”#LOD1”> </node> </visual_scene>

53

COLLADA 1.5 – Archive Package

• Archive Package– New “.ZAE” Zipped Archive Exchange– Standard archive structure

– Well known starting point – manifest.xml– Root document - <dae_root>

– Standard navigation rules– <dae_root> contains a relative URI– Follow URI resolution rules:

– Choose URI “#” fragment– OR document <scene> element

– Can contain embedded archives (.zip, .rar, .kmz, .zae)

© 2007 SCE Eurographics'07

Questions ?

Thank You!

www.khronos.org/colladawww.collada.org

[email protected]