collada 101 everything you ever wanted to know about collada

35
© Copyright Khronos Group, 2007 - Page 1 COLLADA 101 COLLADA 101 Everything you ever wanted to know about COLLADA Everything you ever wanted to know about COLLADA Bruno Patatas Chairman & CEO PixelBox Academy Inc.

Upload: kasper-sanders

Post on 03-Jan-2016

37 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 1

COLLADA 101COLLADA 101Everything you ever wanted to know about COLLADAEverything you ever wanted to know about COLLADA

Bruno PatatasChairman & CEO PixelBox Academy Inc.

Page 2: COLLADA 101 Everything you ever wanted to know about COLLADA

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

Page 3: COLLADA 101 Everything you ever wanted to know about COLLADA

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.

Page 4: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 4

COLLADA is an industry standardCOLLADA 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

Page 5: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 5

COLLADA - GoalsCOLLADA - 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

Page 6: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 6

COLLADA status and roadmapCOLLADA 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

Page 7: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 7

Who is using COLLADA?Who is using COLLADA?

Page 8: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 8

1.4.x – the stable standard1.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

Page 9: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 9

ToolsToolsDCC 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 …

Page 10: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 10

ToolsToolsGame 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

Page 11: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 11

Google EarthGoogle 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/

Page 12: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 12

AgentFX

Page 13: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 13

ModsMods• 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

Page 14: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 14

PenumbraPenumbra

Image courtesy of Frictional Games (www.frictionalgames.com)

Page 15: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 15

COLLADA and Open SourceCOLLADA and Open SourceFor 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.

Page 16: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 16

COLLADA and Open SourceCOLLADA 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.

Page 17: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 17

COLLADA ModelCOLLADA Model

Import/ExportImport/Export

ConversionConversion

ApplicationApplication

Fast PathViewer

Fast PathViewer

RefineryRefinery

App. dataApp. data scriptscriptAssetsAssets

COLLADACOLLADA

3rd party tools3rd party tools

SchemaValidationSchema

Validation

DCC toolsDCC tools

Final assetFinal asset

Grey parts provided by COLLADA

Page 18: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 18

DocumentationDocumentation

• 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

Page 19: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 19

COLLADA BookCOLLADA 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

Page 20: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 20

COLLADA API – COLLADA API – High Level ArchitectureHigh Level Architecture

Page 21: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 21

COLLADA API – COLLADA API – Expanded ArchitectureExpanded Architecture

Page 22: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 22

Design ConsiderationsDesign ConsiderationsThe COLLADA DOM takes into account the following design considerations, which provide some of the

desirable features of the DOM.

Simple Data TransformationThe 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 BackendThe 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 DrivenThe 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.

Page 23: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 23

FCOLLADA – Free Open SourceFCOLLADA – 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

Page 24: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 24

ASSET INTERCHANGE – MAYA AND 3DS MAX

Page 25: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 25

COLLADA FXCOLLADA 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).

Page 26: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 26

FX Elements – FX Elements – Allow the Description of: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

Page 27: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 27

Profiles OverviewProfiles OverviewCOLLADA 1.4 includes 4 standard profiles:

• profile_common for basic interchange between DCC tools• profile_CG for OpenGL and NVIDIA’s Cg Shading Language• profile_GLSL for OpenGL and the OpenGL Shading Language• profile_GLES for OpenGL ES 1.0 and 1.1

Page 28: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 28

Effects data-driven model

Page 29: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 29

Vertex AssemblerVertex Assembler

Vertex ShaderVertex Shader

Primitive AssemblerPrimitive Assembler

Primitive ClipperPrimitive Clipper

RasterizerRasterizer

Fragment ShaderFragment Shader

Output MergerOutput Merger

SamplersSamplers

SamplersSamplers

TexturesTextures

ConstantsConstants

TexturesTextures

ConstantsConstants

Vertex StreamsVertex Streams Index StreamsIndex Streams

Effects

Page 30: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 30

FX COMPOSER 2

Page 31: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 31

Refinery – Content Pipeline ToolRefinery – Content Pipeline ToolFree, 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

Page 32: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 32

COLLADA Contest – COLLADA Contest – Golden Pineapple AwardGolden Pineapple AwardParticipants 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

Page 33: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 33

REFINERY

Page 34: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 34

Standard Slide without subtitle

Online ResourcesOnline ResourcesPixelBox Academy

http://www.pixelboxacademy.net COLLADA

http://www.collada.org Khronos Grouphttp://www.khronos.org

COLLADA Contesthttp://www.colladacontest.com

Page 35: COLLADA 101 Everything you ever wanted to know about COLLADA

© Copyright Khronos Group, 2007 - Page 35

Thank You!Thank You!