An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics...

42
An Introduction to An Introduction to COLLADA COLLADA Mark DeLoura Mark DeLoura Manager of Developer Relations, SCEA Manager of Developer Relations, SCEA R R é é mi Arnaud mi Arnaud Graphics Architect, SCEA R&D Graphics Architect, SCEA R&D Marcus Barnes Marcus Barnes COLLADA Project Lead, SCEA R&D COLLADA Project Lead, SCEA R&D

Transcript of An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics...

Page 1: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

An Introduction to An Introduction to COLLADACOLLADA

Mark DeLouraMark DeLouraManager of Developer Relations, SCEAManager of Developer Relations, SCEA

RRéémi Arnaudmi ArnaudGraphics Architect, SCEA R&DGraphics Architect, SCEA R&D

Marcus BarnesMarcus BarnesCOLLADA Project Lead, SCEA R&DCOLLADA Project Lead, SCEA R&D

Page 2: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Talk RoadmapTalk Roadmap

What’s the COLLADA Initiative?What’s the COLLADA Initiative?

Why do we care?Why do we care?

What is it?What is it?

Format DetailsFormat Details

Current Tool ImplementationsCurrent Tool Implementations

Future DevelopmentsFuture Developments

Page 3: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

COLLADA: What is it?COLLADA: What is it?

A COLLAborative Design ActivityA COLLAborative Design Activity

To design a 3D data interchange formatTo design a 3D data interchange format Allowing import and export from toolsAllowing import and export from tools Designed by the communityDesigned by the community

Collaboration with the tool manufacturersCollaboration with the tool manufacturers Natively supported by modeling toolsNatively supported by modeling tools Fully supports “next-gen” feature-setFully supports “next-gen” feature-set Multiple target platformsMultiple target platforms

Page 4: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Collada: Why?Collada: Why?

Content creation has become increasingly complexContent creation has become increasingly complex Capabilities of 3D devices …expandingCapabilities of 3D devices …expanding Size of content …growingSize of content …growing Production schedules …tighteningProduction schedules …tightening

Developing a custom pipeline is expensive and time Developing a custom pipeline is expensive and time consuming!consuming!Increasing use of an assortment of proprietary & third-Increasing use of an assortment of proprietary & third-party toolsparty tools

Object data is a prisoner of the content creation tool (format)Object data is a prisoner of the content creation tool (format) We want to have flexible data and workflowsWe want to have flexible data and workflows

A tool, target & workflow-independent file format is a A tool, target & workflow-independent file format is a great foundation for a flexible pipeline.great foundation for a flexible pipeline.

Page 5: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Why create an interchange format?Why create an interchange format?

No existing No existing standard standard interchange formatinterchange format

No collaboration to create such formatNo collaboration to create such format

For each studio to create its own formats and For each studio to create its own formats and exporters is colossally redundantexporters is colossally redundant If we can do it once, and do it well, we can save a lot If we can do it once, and do it well, we can save a lot

of timeof time

A common interchange format would allow tools A common interchange format would allow tools to be used interchangeablyto be used interchangeably Simplifying content creation and asset managementSimplifying content creation and asset management

Page 6: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

But why not use an existing 3D But why not use an existing 3D format?format?

X3DX3D Is designed for productivity and communication appsIs designed for productivity and communication apps 3D tool support is inconsistent3D tool support is inconsistent MMmmm smells like VRMLMMmmm smells like VRML

FBXFBX Owned by AliasOwned by Alias Largely bound to Filmbox and MayaLargely bound to Filmbox and Maya Not collaboratively designedNot collaboratively designed Binary formatBinary format Missing important features: meta-data, version headers, Missing important features: meta-data, version headers,

extensibility, multi-texture.extensibility, multi-texture.

XSIXSI Owned by SoftimageOwned by Softimage Good format, but not UTF8 encodedGood format, but not UTF8 encoded

Page 7: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Why an intermediate format?Why an intermediate format?

Why not a binary format?Why not a binary format? Final binary format needs to be optimized to target Final binary format needs to be optimized to target

platformplatformCan be expensive to createCan be expensive to create

Should be a super-efficient direct memory imageShould be a super-efficient direct memory image

Format may change during product developmentFormat may change during product development Easier to use the intermediate format to create the Easier to use the intermediate format to create the

final binaryfinal binaryRather than invoking Maya/Photoshop/etc for each assetRather than invoking Maya/Photoshop/etc for each asset

A readable intermediate format is easier to A readable intermediate format is easier to debug and browse by a programmerdebug and browse by a programmer

Page 8: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Uses for ColladaUses for Collada

Page 9: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Why might you want to use Why might you want to use Collada?Collada?

Use as your intermediate file format Use as your intermediate file format Prior to binary optimization for platformPrior to binary optimization for platform

Makes the life of tool developers simplerMakes the life of tool developers simpler

Easy to create and edit Collada filesEasy to create and edit Collada files For rapid prototyping of contentFor rapid prototyping of content

Human readableHuman readable

Page 10: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Collada: The GoalCollada: The Goal

Ease content development and Ease content development and prototyping, byprototyping, by Freeing your data from your 3D modeling Freeing your data from your 3D modeling

program program Getting collaboration from all 3D tool Getting collaboration from all 3D tool

manufacturersmanufacturers Making import/export simpleMaking import/export simple

Page 11: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Who’s working on it?Who’s working on it?

Sony Computer Entertainment America R&D ProjectSony Computer Entertainment America R&D Project Separate from other projects, own timelineSeparate from other projects, own timeline Designed to be multi-platform, for all targets – no, really!Designed to be multi-platform, for all targets – no, really! No strings attached or hidden agenda (I swear!)No strings attached or hidden agenda (I swear!)

Current contributorsCurrent contributors Sony family: SCE[IJEA], Naughty Dog, InsomniacSony family: SCE[IJEA], Naughty Dog, Insomniac 3D Tools: Alias, Discreet, Softimage, …3D Tools: Alias, Discreet, Softimage, … Middleware: Criterion, Hybrid, Emdigo, Metrowerks, Ageia, Middleware: Criterion, Hybrid, Emdigo, Metrowerks, Ageia,

Virtools, Vicarious Visions, Novodex…Virtools, Vicarious Visions, Novodex… Gamedevs: Digital Eclipse, Electronic Arts, Epic, Secret Level, Gamedevs: Digital Eclipse, Electronic Arts, Epic, Secret Level,

Ubisoft, Vicarious Visions, …Ubisoft, Vicarious Visions, … Others: 3Dlabs, dnahelixOthers: 3Dlabs, dnahelix

Page 12: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

What’s the status?What’s the status?

Work started at Siggraph 2003Work started at Siggraph 2003 Collaborating with major 3D tool manufacturers and Collaborating with major 3D tool manufacturers and

developersdevelopers

Collada 1.0 rollout at Siggraph 2004Collada 1.0 rollout at Siggraph 2004 With Alias, Discreet, Softimage, Criterion, Vicarious With Alias, Discreet, Softimage, Criterion, Vicarious

Visions, Novodex, EmdigoVisions, Novodex, EmdigoCollada 1.0 specCollada 1.0 specCollada 1.0 XML SchemaCollada 1.0 XML SchemaSample code, data and importers/exportersSample code, data and importers/exportersCollada website, http://www.collada.orgCollada website, http://www.collada.org

Collada 1.1 releasing December 3Collada 1.1 releasing December 3

Page 13: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Collada design goalsCollada design goals

Create a 3D data interchange formatCreate a 3D data interchange format Extensible and modularExtensible and modular Targeted for interactive contentTargeted for interactive content

Ease content development and Ease content development and prototypingprototyping

Page 14: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Extensible and ModularExtensible and Modular

ExtensibleExtensible Developer can extend the XML SchemaDeveloper can extend the XML Schema

Use “user data” raw elementsUse “user data” raw elements Tool vendors can add elementsTool vendors can add elements

Tool-specific data for no-loss import/exportTool-specific data for no-loss import/exportCandidate for standardization in future releasesCandidate for standardization in future releases

Add new types, parameters, and constructsAdd new types, parameters, and constructs

ModularModular Libraries of assetsLibraries of assets Instance sections of content Instance sections of content Anything can be an external referenceAnything can be an external reference

Page 15: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Targeted for interactive contentTargeted for interactive content

Cross platform Cross platform Platform-specific content can be embedded in Platform-specific content can be embedded in

Collada fileCollada file

Enable database utilizationEnable database utilization Assets are not necessarily filesAssets are not necessarily files

XML elementsXML elements Could eventually store in a DBCould eventually store in a DB

Page 16: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Ease content development and Ease content development and prototypingprototyping

Standard importer/exporterStandard importer/exporter Developing an exporter is quite complexDeveloping an exporter is quite complex Enables data interchange between modelers and Enables data interchange between modelers and

other toolsother tools Ensures compatibility across modeler versionsEnsures compatibility across modeler versions

Standard previewerStandard previewer OpenGL viewer with Cg providedOpenGL viewer with Cg provided Very fast loading timeVery fast loading time

Validation capabilityValidation capability Syntax can be validated, regardless of contentSyntax can be validated, regardless of content

Page 17: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

What makes up Collada?What makes up Collada?

Collada spec documentCollada spec document

XML SchemaXML Schemahttp://www.collada.org/2004/ColladaSchemahttp://www.collada.org/2004/ColladaSchema

Partner Importers/Exporters: Maya, Partner Importers/Exporters: Maya, 3DSMax, XSI3DSMax, XSI

Collada.org websiteCollada.org website

OpenGL previewer, with Cg 1.2 supportOpenGL previewer, with Cg 1.2 support

Sample dataSample data

Page 18: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Format DetailsFormat Details

Page 19: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Collada element listCollada element listGeometryGeometry

MeshMesh Skin (1.1)Skin (1.1)

CollationCollation LinesLines LinestripsLinestrips PolygonsPolygons TrianglesTriangles TrifansTrifans TristripsTristrips

Data flowData flow AccessorAccessor ArrayArray InputInput ParamParam SourceSource

Object ElementsObject Elements CameraCamera InstanceInstance Object (1.1)Object (1.1)

Meta ElementsMeta Elements AssetAsset ExtraExtra TechniqueTechnique

Hierarchical ElementsHierarchical Elements Bounding boxBounding box Joint (1.1)Joint (1.1) NodeNode SceneScene

Categorical elementsCategorical elements GeometryGeometry LibraryLibrary

TransformTransform LookatLookat MatrixMatrix PerspectivePerspective RotateRotate ScaleScale SkewSkew TranslateTranslate

Material and ShadingMaterial and Shading ImageImage LightLight MaterialMaterial PassPass ShaderShader TextureTexture

Procedural ElementsProcedural Elements CodeCode EntryEntry ParamParam ProgramProgram

Page 20: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Higher-level featuresHigher-level featuresBy combining these elements, Collada supports many higher level conceptsBy combining these elements, Collada supports many higher level concepts

Scene hierarchyScene hierarchy Mesh geometryMesh geometry CamerasCameras Light sourcesLight sources MaterialsMaterials TexturesTextures Shading language programsShading language programs Procedural geometry and textureProcedural geometry and texture Character skins and skeletons (1.1)Character skins and skeletons (1.1) Content modularityContent modularity Multi-representationMulti-representation InternationalizationInternationalization External referencesExternal references Element level asset managementElement level asset management Key-frame animationKey-frame animation

Page 21: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Show me the good stuff!Show me the good stuff!

Material ElementsMaterial Elements

Geometry ElementsGeometry Elements

Page 22: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

MaterialsMaterials

Programmable shadingProgrammable shading Major area of advancement for contentMajor area of advancement for content MaterialsMaterials

Describes the appearance of geometryDescribes the appearance of geometry TechniquesTechniques

Materials encapsulate techniquesMaterials encapsulate techniques

Profiles indicate which techniques to useProfiles indicate which techniques to use

Multiple ways to represent data and algorithmsMultiple ways to represent data and algorithms

<material>,<shader>,<technique>,<pass>,<material>,<shader>,<technique>,<pass>,

<program>,<texture><program>,<texture>

Page 23: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Example: cube.dae MaterialExample: cube.dae Material

<library type="MATERIAL"><library type="MATERIAL"> <material name="Blue"><material name="Blue"> <shader><shader> <technique profile="COMMON1.0"><technique profile="COMMON1.0"> <pass><pass> <program name="PHONG"><program name="PHONG"> <param name="AMBIENT" type="ColorRGB" flow="IN"><param name="AMBIENT" type="ColorRGB" flow="IN">

0.000000 0.000000 0.000000</param>0.000000 0.000000 0.000000</param> <param name="DIFFUSE" type="ColorRGB" flow="IN"><param name="DIFFUSE" type="ColorRGB" flow="IN">

0.137255 0.403922 0.870588</param>0.137255 0.403922 0.870588</param> <param name="SPECULAR" type="ColorRGB" flow="IN"><param name="SPECULAR" type="ColorRGB" flow="IN">

0.500000 0.500000 0.500000</param>0.500000 0.500000 0.500000</param> <param name="SHININESS" type="float" flow="IN">16.000000</param><param name="SHININESS" type="float" flow="IN">16.000000</param> </program></program> </pass></pass> </technique></technique> </shader></shader> </material></material></library></library>

Page 24: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

GeometryGeometry

Geometry as dataflowGeometry as dataflow Vertices are the normVertices are the norm

Attributes are variableAttributes are variable Meshes contain vertex and polygon dataMeshes contain vertex and polygon data

Describes the shape of geometryDescribes the shape of geometry

Lots of high frequency dataLots of high frequency data Higher order surfacesHigher order surfaces

Not widely used; will be supported in <geometry>Not widely used; will be supported in <geometry>

<geometry>, <mesh>, <source>, <geometry>, <mesh>, <source>,

<polygons>, <p><polygons>, <p>

Page 25: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Example: cube.dae GeometryExample: cube.dae Geometry<library type="GEOMETRY"> <library type="GEOMETRY"> <geometry name="box"> <geometry name="box"> <mesh> <mesh> <source name="box-Position"> <source name="box-Position"> <array name="box-Position-array" type="float" <array name="box-Position-array" type="float"

count="24"> count="24"> -0.5 0.5 0.5 -0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 -0.5 -0.5 0.5 -0.5 -0.5 0.5 0.5 -0.5 0.5 0.5 -0.5 0.5 -0.5 0.5 -0.5 -0.5 0.5 -0.5 0.5 0.5 -0.5 0.5 0.5 -0.5 -0.5 -0.5 -0.5 -0.5 -0.5 -0.5 0.5 -0.5 -0.5 0.5 -0.5 -0.5

</array> </array> <technique profile="COMMON1.0"> <technique profile="COMMON1.0"> <accessor source="#box-Position-array" count="8" <accessor source="#box-Position-array" count="8"

stride="3" >stride="3" > <param name="X" type="float" flow="OUT"/><param name="X" type="float" flow="OUT"/> <param name="Y" type="float" flow="OUT"/><param name="Y" type="float" flow="OUT"/> <param name="Z" type="float" flow="OUT"/> <param name="Z" type="float" flow="OUT"/> </accessor></accessor> </technique> </technique> </source> </source>

<polygons count="6" material="#Blue"> <polygons count="6" material="#Blue"> <input semantic="POSITION" source="#box-<input semantic="POSITION" source="#box-

Position"/> Position"/> <p>0 2 3 1</p> <p>0 2 3 1</p> <p>0 1 5 4</p> <p>0 1 5 4</p> <p>6 7 3 2</p> <p>6 7 3 2</p> <p>0 4 6 2</p> <p>0 4 6 2</p> <p>3 7 5 1</p> <p>3 7 5 1</p> <p>5 7 6 4</p> <p>5 7 6 4</p>

</polygons> </polygons> </mesh> </mesh> </geometry> </geometry> </library> </library>

Page 26: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Example: cube.dae Extra BitsExample: cube.dae Extra Bits<? xml version=“1.0” encoding=“utf-8” ?><? xml version=“1.0” encoding=“utf-8” ?><COLLADA xmlns=<COLLADA xmlns=http://www.collada.org/2004/COLLADASchemahttp://www.collada.org/2004/COLLADASchema

version=”1.0.0”>version=”1.0.0”> <asset><asset> <revision>1.0</revision><revision>1.0</revision> <authoring_tool>EQUINOX-3D Collada exporter v0.2.0</authoring_tool><authoring_tool>EQUINOX-3D Collada exporter v0.2.0</authoring_tool> <modified>2004-07-15T22:09:29Z</modified><modified>2004-07-15T22:09:29Z</modified> </asset></asset>[MATERIAL LIBRARY][MATERIAL LIBRARY][GEOMETRY LIBRARY][GEOMETRY LIBRARY] <scene name="DefaultScene"> <scene name="DefaultScene"> <node name="Box"> <node name="Box"> <instance url="#box"/> <instance url="#box"/> </node> </node> </scene> </scene> </COLLADA></COLLADA>

Page 27: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Other FeaturesOther Features

External references: Any element can be External references: Any element can be an external referencean external reference<node name=”instance6”><node name=”instance6”>

<instance url=”file://host ...”><instance url=”file://host ...”>

Extra dataExtra data User- or tool-definedUser- or tool-defined Platform-specific dataPlatform-specific data

Page 28: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Other FeaturesOther Features

Shader programsShader programs CgCg GLSL (coming from 3Dlabs)GLSL (coming from 3Dlabs) HLSL not yetHLSL not yet

Cg in ColladaCg in Collada An example of advanced functionalityAn example of advanced functionality Implemented as a custom techniqueImplemented as a custom technique Allows multipassAllows multipass CgFX readyCgFX ready Cg shaders curently working with XSICg shaders curently working with XSI

Page 29: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Tool SupportTool Support

MayaMaya

3DSMax3DSMax

XSIXSI

RenderwareRenderware

AlchemyAlchemy

AgeiaAgeia

Page 30: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Alias - MayaAlias - Maya

Maya translator (v1.1) available for import/exportMaya translator (v1.1) available for import/export Out of the box Collada integrationOut of the box Collada integration Open sourceOpen source

Extendable to include your custom dataExtendable to include your custom data Or as a starting point for your own translatorOr as a starting point for your own translator Uses <extra> to add Maya custom contentUses <extra> to add Maya custom content

<extra name=”custom1”><extra name=”custom1”>

<mayaNode><mayaNode>

<mayaAttr><mayaAttr>

Page 31: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Discreet - 3DSMaxDiscreet - 3DSMax

Version 1.0 import/exportVersion 1.0 import/export MaxScript basedMaxScript based Easy to modifyEasy to modify Future version will be a true plug-inFuture version will be a true plug-in Import functionality works with GmaxImport functionality works with Gmax Useful for data transfer to previous versionsUseful for data transfer to previous versions

Page 32: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Softimage - XSISoftimage - XSI

XSI Import / ExportXSI Import / Export Supports a rich set of the Collada 1.0 spec including the Supports a rich set of the Collada 1.0 spec including the

COMMON1.0 profileCOMMON1.0 profile Open source under the MIT licenseOpen source under the MIT license Supports:Supports:

Hierarchies and transformsHierarchies and transformsPolygon meshesPolygon meshesMultiple texture coordinates, normals, colors, and position dataMultiple texture coordinates, normals, colors, and position dataMaterials and texturesMaterials and texturesLights and camerasLights and camerasCg programsCg programs

Based on Xerces and the XSI FTK (File Transfer Kit)Based on Xerces and the XSI FTK (File Transfer Kit) Collada interchange fits into “Connect to Softimage” strategy.Collada interchange fits into “Connect to Softimage” strategy.

http://http://www.softimage.com/connect/xsiwww.softimage.com/connect/xsi

Page 33: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

EA/Criterion - RenderwareEA/Criterion - Renderware

Collada files are integrated directly into the RenderWare Studio Collada files are integrated directly into the RenderWare Studio Game DatabaseGame Database

Become an integral part of the game database asset structure.Become an integral part of the game database asset structure. Sit alongside game entities, objects & behaviors from other packages.Sit alongside game entities, objects & behaviors from other packages. Game Production Manager translates assets to be platform optimalGame Production Manager translates assets to be platform optimal

Longer term, RenderWare 4 will include a node inside the Asset Longer term, RenderWare 4 will include a node inside the Asset Conditioning Pipeline (ACP) dedicated to Collada dataConditioning Pipeline (ACP) dedicated to Collada data

Can use RW Studio as a Collada viewerCan use RW Studio as a Collada viewer RWS provides centralized version controlled databaseRWS provides centralized version controlled database Workspace provides assembly and integration of game componentsWorkspace provides assembly and integration of game components Live link to console for in-game visualization of assetsLive link to console for in-game visualization of assets

Page 34: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Vicarious Visions - AlchemyVicarious Visions - Alchemy

Alchemy and Collada in the futureAlchemy and Collada in the future Integrate Collada with the tool chainIntegrate Collada with the tool chain Will greatly simplify exporter pipelineWill greatly simplify exporter pipeline Significantly reduce maintenance overheadSignificantly reduce maintenance overhead Allows further leverage of large art teams & Allows further leverage of large art teams &

sharing of assetssharing of assets Highly efficient management and integration Highly efficient management and integration

of art assetsof art assets

Page 35: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

AgeiaAgeia

Collada Meets PSCLCollada Meets PSCL PSCL: The Physics Scripting LanguagePSCL: The Physics Scripting Language An open standard dynamics data definition An open standard dynamics data definition

languagelanguage Interactive real-time physics scripting and Interactive real-time physics scripting and

prototypingprototyping Import and export using Collada 2.0Import and export using Collada 2.0

(John Ratcliff from Ageia speaking next!)(John Ratcliff from Ageia speaking next!)

Page 36: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Coming soonComing soon

3Dlabs3Dlabs GLSL implementation and OpenSceneGraph GLSL implementation and OpenSceneGraph

importerimporter

Page 37: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Current StatusCurrent Status

Collada 1.0 availableCollada 1.0 available XML SchemaXML Schema Importers & exportersImporters & exporters Sample codeSample code Website open for collaborationWebsite open for collaboration Models interchange between modelers easilyModels interchange between modelers easily

As seen on TV (I mean, at Siggraph)As seen on TV (I mean, at Siggraph)

Page 38: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Next StepsNext Steps

Collada 1.1 Collada 1.1 New spec, new schema, new importers/exporters, new samplesNew spec, new schema, new importers/exporters, new samples Animation and skinning supportAnimation and skinning support

Feature ListFeature List AnimationAnimation

<animation><animation><channel><channel>

Target attribute ID based addressing syntax.Target attribute ID based addressing syntax.<joint><joint><sampler><sampler>

Character skinningCharacter skinning<combiner><combiner>

Combines sources into composite sources.Combines sources into composite sources. Produces aggregated, variable length results.Produces aggregated, variable length results.

Releases December 3 (today!)Releases December 3 (today!)

Page 39: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Looking to the future…Looking to the future…

Collada 1.2Collada 1.2 Releases January 21Releases January 21

Collada 2.0Collada 2.0 Physics, user interfaces,asset managementPhysics, user interfaces,asset management Conformance test suiteConformance test suite Release at GDC 2005Release at GDC 2005

At GDC 2005At GDC 2005 Collada sponsored sessionCollada sponsored session We plan to show PSP utilitiesWe plan to show PSP utilities

Page 40: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

In summary, what COLLADA In summary, what COLLADA providesprovides

Maya import and exporter from AliasMaya import and exporter from Alias

3DSMax import/export in MaxScript from 3DSMax import/export in MaxScript from DiscreetDiscreet

XSI import and export from SoftimageXSI import and export from Softimage

Sample tools: Sample tools: OpenGL viewer, error checker.OpenGL viewer, error checker.

Source code and sample data filesSource code and sample data files

Collada website: Collada website: www.collada.orgwww.collada.org Website has 125+ registrantsWebsite has 125+ registrants

Page 41: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

Future PlansFuture Plans

CollaborationCollaboration Involve Khronos Group Involve Khronos Group

DesignDesign Physics, dynamicsPhysics, dynamics User interfaces (2D, text)User interfaces (2D, text) Audio and videoAudio and video

Reference codeReference code SCEA contracting EmdigoSCEA contracting Emdigo

Developing a reflective object modelDeveloping a reflective object model

Page 42: An Introduction to COLLADA Mark DeLoura Manager of Developer Relations, SCEA Rémi Arnaud Graphics Architect, SCEA R&D Marcus Barnes COLLADA Project Lead,

In ConclusionIn Conclusion

Please check out Collada! Please check out Collada! Can only get stronger through your inputCan only get stronger through your input Public forum and downloads:Public forum and downloads:

http://http://www.collada.orgwww.collada.org

Contact us to become a contributor:Contact us to become a contributor:[email protected]@collada.org

3D tool manufacturers are looking for feedback 3D tool manufacturers are looking for feedback from developers who try out their exporter. Get from developers who try out their exporter. Get in touch with them if you check out Collada.in touch with them if you check out Collada. Alias – Maya Import/ExportAlias – Maya Import/Export Discreet – 3DSMax Import/ExportDiscreet – 3DSMax Import/Export Softimage – XSI Import/ExportSoftimage – XSI Import/Export