ISO/PAS 17506:2012
(Main)Industrial automation systems and integration — COLLADA digital asset schema specification for 3D visualization of industrial data
Industrial automation systems and integration — COLLADA digital asset schema specification for 3D visualization of industrial data
ISO/PAS 17506:2012 describes the COLLADA schema. COLLADA is a COLLAborative Design Activity that defines an XML-based schema to enable 3D authoring applications to freely exchange digital assets without loss of information, enabling multiple software packages to be combined into extremely powerful tool chains. The purpose of ISO/PAS 17506:2012 is to provide a specification for the COLLADA schema in sufficient detail to enable software developers to create tools to process COLLADA resources. In particular, it is relevant to those who import to or export from digital content creation (DCC) applications, 3D interactive applications and tool chains, prototyping tools, real-time visualization applications such as those used in the video game and movie industries, and CAD tools. ISO/PAS 17506:2012 covers the initial design and specifications of the COLLADA schema, as well as a minimal set of requirements for COLLADA exporters.
Systèmes d'automatisation industrielle et intégration — Spécifications du schéma des actifs numériques COLLADA pour la visualisation 3D des données industrielles
General Information
Relations
Buy Standard
Standards Content (Sample)
PUBLICLY ISO/PAS
AVAILABLE 17506
SPECIFICATION
First edition
2012-07-15
Industrial automation systems and
integration — COLLADA digital asset
schema specification for 3D visualization
of industrial data
Systèmes d'automatisation industrielle et intégration — Spécifications
du schéma des actifs numériques COLLADA pour la visualisation 3D
des données industrielles
Reference number
ISO/PAS 17506:2012(E)
©
ISO 2012
---------------------- Page: 1 ----------------------
ISO/PAS 17506:2012(E)
This CD-ROM contains the publication ISO/PAS 17506:2012 in portable document format (PDF), which can
be viewed using Adobe® Acrobat® Reader.
Adobe and Acrobat are trademarks of Adobe Systems Incorporated.
COPYRIGHT PROTECTED DOCUMENT
© ISO 2012
All rights reserved. Unless required for installation or otherwise specified, no part of this CD-ROM may be reproduced, stored in a retrieval
system or transmitted in any form or by any means without prior permission from ISO. Requests for permission to reproduce this product
should be addressed to
ISO copyright office Case postale 56 CH-1211 Geneva 20 Switzerland
Internet copyright@iso.org
Reproduction may be subject to royalty payments or a licensing agreement.
Violators may be prosecuted.
Published in Switzerland
ii © ISO 2012 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/PAS 17506:2012(E)
Installation
If this publication has been packaged as a zipped file, do NOT open the file from the CD-ROM, but copy it to
the desired location in your l
...
PUBLICLY ISO/PAS
AVAILABLE 17506
SPECIFICATION
First edition
2012-07-15
Industrial automation systems and
integration — COLLADA digital asset
schema specification for 3D visualization
of industrial data
Systèmes d'automatisation industrielle et intégration — Spécifications
du schéma des actifs numériques COLLADA pour la visualisation 3D
des données industrielles
Reference number
ISO/PAS 17506:2012(E)
©
ISO 2012
---------------------- Page: 1 ----------------------
ISO/PAS 17506:2012(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO 2012
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO 2012 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/PAS 17506:2012(E)
Foreword
ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies
(ISO member bodies). The work of preparing International Standards is normally carried out through ISO
technical committees. Each member body interested in a subject for which a technical committee has been
established has the right to be represented on that committee. International organizations, governmental and
non-governmental, in liaison with ISO, also take part in the work. ISO collaborates closely with the
International Electrotechnical Commission (IEC) on all matters of electrotechnical standardization.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of technical committees is to prepare International Standards. Draft International Standards
adopted by the technical committees are circulated to the member bodies for voting. Publication as an
International Standard requires approval by at least 75 % of the member bodies casting a vote.
In other circumstances, particularly when there is an urgent market requirement for such documents, a
technical committee may decide to publish other types of document:
an ISO Publicly Available Specification (ISO/PAS) represents an agreement between technical experts in
an ISO working group and is accepted for publication if it is approved by more than 50 % of the members
of the parent committee casting a vote;
an ISO Technical Specification (ISO/TS) represents an agreement between the members of a technical
committee and is accepted for publication if it is approved by 2/3 of the members of the committee casting
a vote.
An ISO/PAS or ISO/TS is reviewed after three years in order to decide whether it will be confirmed for a
further three years, revised to become an International Standard, or withdrawn. If the ISO/PAS or ISO/TS is
confirmed, it is reviewed again after a further three years, at which time it must either be transformed into an
International Standard or be withdrawn.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO shall not be held responsible for identifying any or all such patent rights.
ISO/PAS 17506 was prepared by the Khronos Group (as COLLADA Digital Asset Schema Release 1.5.0
Specification, April 2008) and was adopted by Technical Committee ISO/TC 184, Automation systems and
integration, Subcommittee SC 4, Industrial data.
© ISO 2012 – All rights reserved iii
---------------------- Page: 3 ----------------------
PUBLICLY AVAILABLE SPECIFICATION ISO/PAS 17506:2012(E)
Industrial automation systems and integration — COLLADA
digital asset schema specification for 3D visualization of
industrial data
1 Scope
This Publicly Available Specification describes the COLLADA schema. COLLADA is a COLLAborative Design
Activity that defines an XML-based schema to enable 3D authoring applications to freely exchange digital
assets without loss of information, enabling multiple software packages to be combined into extremely
powerful tool chains.
The purpose of this Publicly Available Specification is to provide a specification for the COLLADA schema in
sufficient detail to enable software developers to create tools to process COLLADA resources. In particular, it
is relevant to those who import to or export from digital content creation (DCC) applications, 3D interactive
applications and tool chains, prototyping tools, real-time visualization applications such as those used in the
video game and movie industries, and CAD tools.
This Publicly Available Specification covers the initial design and specifications of the COLLADA schema, as
well as a minimal set of requirements for COLLADA exporters.
2 Requirements
Requirements are indicated using “must” in the following publication (reproduced on the following pages),
which is adopted as a Publicly Available Specification:
COLLADA Digital Asset Schema Release 1.5.0 Specification, April 2008.
Pages i to xii of COLLADA Digital Asset Schema Release 1.5.0 Specification, April 2008, are for information
only.
© ISO 2012 – All rights reserved 1
---------------------- Page: 4 ----------------------
ISO/PAS 17506:2012(E)
(Blank page)
2 © ISO 2012 – All rights reserved
---------------------- Page: 5 ----------------------
ISO/PAS 17506:2012(E)
COLLADA – Digital Asset Schema Release 1.5.0
Specification
April 2008
Editors: Mark Barnes and Ellen Levy Finch, Sony Computer Entertainment Inc.
© ISO 2012 – All rights reserved 3
---------------------- Page: 6 ----------------------
ISO/PAS 17506:2012(E)
© 2005-2008 The Khronos Group Inc., Sony Computer Entertainment Inc.
All Rights Reserved.
This specification is protected by copyright laws and contains material proprietary to the Khronos Group, Inc. It or any
components may not be reproduced, republished, distributed, transmitted, displayed, broadcast, or otherwise
exploited in any manner without the express prior written permission of Khronos Group. You may use this specification
for implementing the functionality therein, without altering or removing any trademark, copyright, or other notice from
the specification, but the receipt or possession of this specification does not convey any rights to reproduce, disclose,
or distribute its contents, or to manufacture, use, or sell anything that it may describe, in whole or in part.
Khronos Group grants express permission to any current Promoter, Contributor, or Adopter member of Khronos to
copy and redistribute UNMODIFIED versions of this specification in any fashion, provided that NO CHARGE is made for
the specification and the latest available update of the specification for any version of the API is used whenever
possible. Such distributed specification may be reformatted AS LONG AS the contents of the specification are not
changed in any way. The specification may be incorporated into a product that is sold as long as such product includes
significant independent work developed by the seller. A link to the current version of this specification on the Khronos
Group website should be included whenever possible with specification distributions.
Khronos Group makes no, and expressly disclaims any, representations or warranties, express or implied, regarding
this specification, including, without limitation, any implied warranties of merchantability or fitness for a particular
purpose or noninfringement of any intellectual property. Khronos Group makes no, and expressly disclaims any,
warranties, express or implied, regarding the correctness, accuracy, completeness, timeliness, and reliability of the
specification. Under no circumstances will the Khronos Group, or any of its Promoters, Contributors, or Members or
their respective partners, officers, directors, employees, agents, or representatives be liable for any damages, whether
direct, indirect, special, or consequential damages for lost revenues, lost profits, or otherwise, arising from or in
connection with these materials.
Khronos is a trademark of The Khronos Group Inc.
COLLADA is a trademark of Sony Computer Entertainment Inc. used by permission by Khronos.
All other trademarks are the property of their respective owners and/or their licensors.
Publication date: April 2008
Khronos Group
P.O. Box 1019
Clearlake Park, CA 95424, U.S.A.
Sony Computer Entertainment Inc.
2-6-21 Minami-Aoyama, Minato-ku,
Tokyo 107-0062 Japan
Sony Computer Entertainment America
919 E. Hillsdale Blvd.
Foster City, CA 94404, U.S.A.
Sony Computer Entertainment Europe
30 Golden Square
London W1F 9LD, U.K.
4 © ISO 2012 – All rights reserved
---------------------- Page: 7 ----------------------
ISO/PAS 17506:2012(E)
Table of Contents
About This Manual ix
Audience ix
Content of this Document ix
Typographic Conventions and Notation x
Notation and Organization in the Reference Chapters x
Other Sources of Information xi
Chapter 1: Design Considerations 1-1
Introduction 1-1
Assumptions and Dependencies 1-1
Goals and Guidelines 1-1
Chapter 2: Tool Requirements and Options 2-1
Introduction 2-1
Exporters 2-1
Importers 2-3
Archive Packaging 2-4
Chapter 3: Schema Concepts 3-1
Introduction 3-1
XML Overview 3-1
Address Syntax 3-1
Instantiation and External Referencing 3-5
The Common Profile 3-6
Chapter 4: Programming Guide 4-1
Introduction 4-1
About Parameters in COLLADA 4-1
Curve Interpolation 4-1
Skin Deformation (or Skinning) in COLLADA 4-7
Chapter 5: Core Elements Reference 5-1
Introduction 5-1
Elements by Category 5-1
accessor 5-5
ambient (core) 5-11
animation 5-12
animation_clip 5-15
asset 5-17
bool_array 5-20
camera 5-21
channel 5-23
COLLADA 5-24
color 5-26
contributor 5-27
controller 5-29
control_vertices 5-31
directional 5-33
evaluate_scene 5-34
extra 5-35
float_array 5-37
formula 5-38
geographic_location 5-40
geometry 5-42
IDREF_array 5-44
April 2008
© ISO 2012 – All rights reserved 5
---------------------- Page: 8 ----------------------
ISO/PAS 17506:2012(E)
iv COLLADA – Digital Asset Schema Release 1.5.0
imager 5-45
input (shared) 5-47
input (unshared) 5-50
instance_animation 5-52
instance_camera 5-54
instance_controller 5-56
instance_formula 5-59
instance_geometry 5-61
instance_light 5-63
instance_node 5-65
instance_visual_scene 5-67
int_array 5-69
joints 5-70
library_animation_clips 5-71
library_animations 5-72
library_cameras 5-73
library_controllers 5-74
library_formulas 5-75
library_geometries 5-76
library_lights 5-77
library_nodes 5-78
library_visual_scenes 5-79
light 5-80
lines 5-82
linestrips 5-84
lookat 5-86
matrix 5-88
mesh 5-89
morph 5-92
Name_array 5-94
newparam 5-96
node 5-98
optics 5-100
orthographic 5-102
param (data flow) 5-104
param (reference) 5-105
perspective 5-108
point 5-110
polygons 5-112
polylist 5-115
rotate 5-117
sampler 5-118
scale 5-125
scene 5-126
setparam 5-128
SIDREF_array 5-130
skeleton 5-131
skew 5-133
skin 5-134
source (core) 5-137
spline 5-139
spot 5-141
targets 5-143
technique (core) 5-144
technique_common 5-146
translate 5-147
April 2008
6 © ISO 2012 – All rights reserved
---------------------- Page: 9 ----------------------
ISO/PAS 17506:2012(E)
Specification – Table of Contents v
triangles 5-148
trifans 5-150
tristrips 5-152
vertex_weights 5-154
vertices 5-156
visual_scene 5-157
Chapter 6: Physics Reference 6-1
Introduction 6-1
Elements by Category 6-1
attachment 6-4
box 6-5
capsule 6-6
convex_mesh 6-7
cylinder 6-9
force_field 6-10
instance_force_field 6-11
instance_physics_material 6-12
instance_physics_model 6-13
instance_physics_scene 6-15
instance_rigid_body 6-16
instance_rigid_constraint 6-19
library_force_fields 6-21
library_physics_materials 6-22
library_physics_models 6-23
library_physics_scenes 6-24
physics_material 6-25
physics_model 6-27
physics_scene 6-30
plane 6-33
ref_attachment 6-34
rigid_body 6-35
rigid_constraint 6-39
shape 6-43
sphere 6-45
Chapter 7: Getting Started with FX 7-1
Introduction 7-1
Using Profiles for Platform-Specific Effects 7-1
About Parameters in FX 7-4
Shaders 7-5
Rendering 7-5
Texturing 7-6
Chapter 8: FX Reference 8-1
Introduction 8-1
Elements by Category 8-1
About COLLADA FX 8-4
alpha 8-5
annotate 8-6
argument 8-7
array 8-9
binary 8-11
bind (FX) 8-13
bind_attribute 8-15
bind_material 8-16
bind_uniform 8-19
April 2008
© ISO 2012 – All rights reserved 7
---------------------- Page: 10 ----------------------
ISO/PAS 17506:2012(E)
vi COLLADA – Digital Asset Schema Release 1.5.0
bind_vertex_input 8-21
blinn 8-23
code 8-26
color_clear 8-27
color_target 8-28
compiler 8-30
constant (FX) 8-31
create_2d 8-34
create_3d 8-36
create_cube 8-38
depth_clear 8-40
depth_target 8-41
draw 8-43
effect 8-45
evaluate 8-47
format 8-49
fx_common_color_or_texture_type 8-52
fx_common_float_or_param_type 8-54
fx_sampler_common 8-55
image 8-58
include 8-61
init_from 8-62
instance_effect 8-64
instance_image 8-66
instance_material (geometry) 8-68
instance_material (rendering) 8-70
lambert 8-72
library_effects 8-74
library_images 8-75
library_materials 8-76
linker 8-78
material 8-79
modifier 8-81
pass 8-82
phong 8-84
profile_BRIDGE 8-87
profile_CG 8-89
profile_COMMON 8-92
profile_GLES 8-94
profile_GLES2 8-97
profile_GLSL 8-101
program 8-103
render 8-105
RGB 8-106
sampler1D 8-107
sampler2D 8-108
sampler3D 8-109
samplerCUBE 8-110
samplerDEPTH 8-111
samplerRECT 8-112
sampler_image 8-113
sampler_states 8-114
semantic 8-115
shader 8-116
sources 8-118
states 8-120
April 2008
8 © ISO 2012 – All rights reserved
---------------------- Page: 11 ----------------------
ISO/PAS 17506:2012(E)
Specification – Table of Contents vii
stencil_clear 8-126
stencil_target 8-127
technique (FX) 8-129
technique_hint 8-131
texcombiner 8-132
texenv 8-135
texture_pipeline 8-137
usertype 8-140
Chapter 9: B-Rep Reference 9-1
Introduction 9-1
Elements by Category 9-1
About B-Rep in COLLADA 9-2
brep 9-7
circle 9-9
cone 9-11
curve 9-13
curves 9-15
cylinder (B-Rep) 9-16
edges 9-17
ellipse 9-19
faces 9-21
hyperbola 9-23
line 9-24
nurbs 9-25
nurbs_surface 9-28
orient 9-31
origin 9-32
parabola 9-33
pcurves 9-34
shells 9-36
solids 9-38
surface 9-40
surfaces 9-42
surface_curves 9-43
swept_surface 9-44
torus 9-46
wires 9-47
Complete B-Rep Example 9-49
Chapter 10: Kinematics Reference 10-1
Introduction 10-1
Elements by Category 10-1
articulated_system 10-3
attachment_end 10-5
attachment_full 10-6
attachment_start 10-8
axis_info 10-10
bind (kinematics) 10-13
bind_joint_axis 10-14
bind_kinematics_model 10-16
connect_param (kinematics) 10-18
effector_info 10-19
frame_object, frame_origin, frame_tcp, frame_tip 10-21
instance_articulated_system 10-22
instance_joint 10-24
instance_kinematics_model 10-26
April 2008
© ISO 2012 – All rights reserved 9
---------------------- Page: 12 ----------------------
ISO/PAS 17506:2012(E)
viii COLLADA – Digital Asset Schema Release 1.5.0
instance_kinematics_scene 10-28
joint 10-30
kinematics 10-32
kinematics_model 10-35
kinematics_scene 10-37
library_articulated_systems 10-38
library_joints 10-39
library_kinematics_models 10-40
library_kinematics_scenes 10-41
link 10-42
motion 10-43
prismatic 10-45
revolute 10-47
Chapter 11: Types 11-1
Introduction 11-1
Simple Value Types 11-1
Parameter-Type Elements 11-2
Other Simple Types 11-3
Value-or-Param Types 11-3
Appendix A: COLLADA Example A-1
Example: Cube A-1
Appendix B: Profile GLSL and GLES2 Examples B-1
Example: B-1
Example: B-6
Glossary G-1
General Index I-1
Index of COLLADA Elements I-4
April 2008
10 © ISO 2012 – All rights reserved
---------------------- Page: 13 ----------------------
ISO/PAS 17506:2012(E)
About This Manual
This document describes the COLLADA schema. COLLADA is a COLLAborative Design Activity that
defines an XML-based schema to enable 3D authoring applications to freely exchange digital assets
without loss of information, enabling multiple software packages to be combined into extremely powerful
tool chains.
The purpose of this document is to provide a specification for the COLLADA schema in sufficient detail to
enable software developers to create tools to process COLLADA resources. In particular, it is relevant to
those who import to or export from digital content creation (DCC) applications, 3D interactive applications
and tool chains, prototyping tools, real-time visualization applications such as those used in the video game
and movie industries, and CAD tools.
This document covers the initial design and specifications of the COLLADA schema, as well as a minimal
set of requirements for COLLADA exporters. A short example of a COLLADA instance document is
presented in “Appendix A”.
Audience
This document is public. The intended audience is programmers who want to create applications, or plug-
ins for applications, that can utilize the COLLADA schema.
Readers of this document should:
Have knowledge of XML and XML Schema.
® ®
Be familiar with shading languages such as NVIDIA Cg or Pixar RenderMan .
Have a general knowledge and understanding of computer graphics and graphics APIs such as
®
OpenGL .
Content of this Document
This document consists of the following chapters:
Chapter/Section Description
Chapter 1: Design Considerations Issues concerning the COLLADA design.
Chapter 2: Tool Requirements and Options COLLADA tool requirements for implementors.
Chapter 3: Design Considerations A general description of the schema and its design, and introduction
of key concepts necessary for understanding and using COLLADA.
Chapter 4: Programming Guide Detailed instructions for some aspects of programming using
COLLADA.
Chapter 5: Core Elements Reference Detailed reference descriptions of the core elements in the COLLADA
schema.
Chapter 6: Physics Reference Detailed reference descriptions of COLLADA Physics elements.
Chapter 7: Getting Started with FX Concepts and usage notes for COLLADA FX elements.
Chapter 8: FX Reference Detailed reference descriptions of COLLADA FX elements.
Chapter 9: B-Rep Reference Detailed reference descriptions of COLLADA B-Rep elements.
Chapter 10: Kinematics Reference Detailed reference descriptions of COLLADA Kinematics elements.
Chapter 11: Types Definitions of some simple COLLADA types.
Appendix A: COLLADA Example An example COLLADA instance document.
Appendix B: Profile GLSL and GLES2 Example A detailed example of the COLLADA FX element.
Glossary Definitions of terms used in this document, including XML terminology.
April 2008
© ISO 2012 – All rights reserved 11
---------------------- Page: 14 ----------------------
ISO/PAS 17506:2012(E)
x COLLADA – Digital Asset Schema Release 1.5.0
Chapter/Section Description
General Index Index of concepts and key terms.
Index of COLLADA Elements Index to all COLLADA elements, including minor elements that do not
have their own reference pages.
Typographic Conventions and Notation
Certain typographic conventions are used throughout this manual to clarify the meaning of the text:
Conventions Description
Regular text Descriptive text
XML elements
Courier-type font
Attribute names
Courier bold
File names
blue Hyperlinks
Italic text New terms or emphasis
Italic Courier
Placeholders for values in commands or code
element1 / element2 element1 is the parent, element2 is the child; for further information, refer to “Xpath
Syntax” at http://www.w3schools.com/xpath/xpath_syntax.asp
Notation and Organization in the Reference Chapters
The schema reference chapters describe each feature of the COLLADA schema syntax. Each XML element
in the schema has the following sections:
Section Description
Introduction Name and purpose of the element
Concepts Background and rationale for the element
Attributes Attributes applicable to the element
Related Elements Lists of parent elements and of other related elements
Child Elements Lists of valid child elements and descriptions of each
Details Information concerning the usage of the element
Example Example usage of the element
Child Element Conventions
The Child Elements table lists all child elements for the specified element. For each child:
“See main entry” means that one of the Reference chapters has a main entry for the child element,
so refer to it for details about the child’s usage, attributes, and children.
If there is not a main entry in the Reference chapters, or if the local child element’s properties vary
from the main entry, information about the child element is given either in the Child Elements table
or in an additional element-specific subsection.
For example:
Name/example Description Default Occurrences
Brief_description. 1 or more
(This means that there is a main Reference entry for
camera, so look there for details.)
Brief_description.
(means not
(This means that details are given here but in a
applicable)
separate table.)
April 2008
12 © ISO 2012 – All rights reserved
---------------------- Page: 15 ----------------------
ISO/PAS 17506:2012(E)
Specification – About This Manual xi
Name/example Description Default Occurrences
Description, including discussion of attributes, None (italic
content, and relevant child elements. lowercase
means none
(This means that there is no main Reference entry
assigned)
for yfov. Details are given here.)
NONE (means
the value NONE)
Child Element Order
XML allows a schema definition to include notation that requires elements to occur in a certain order within
their parent element. When this reference states that child elements must appear in the following order, it
refers to a declaration similar to the following, in which the XML element states that
must follow :
XML also provides notation indicating that two or more child elements can occur in any order. When this
reference states that two child elements can appear in any order, it refers to the XML element
with an unbounded maximum. For example, in the following, and must appear
before and after , but in that position, they can occur in any order, and the unbounded
attribute specifies that you can include as many of them as needed in any combination:
Other Sources of Information
Resources that serve as reference background material for this document include:
® ®
Be familiar with shading languages such as NVIDIA Cg or Pixar RenderMan .
Have a general knowledge and understanding of computer graphics and graphics APIs such as
®
OpenGL .
Collada: Sailing the Gulf of 3d Digital Content Creation by Remi Arnaud and Mark C. Barnes; AK
Peters, Ltd., August 30, 2006; ISBN-13: 978-1568812878
Extensible Markup Language (XML) 1.0, 2nd Edition
XML Schema
XML Base
XML Path Language
XML Pointer Language Framework
Extensible 3D (X3D™) encodings ISO/IEC FCD 19776-1:200x
®
Softimage dotXSI™ FTK
®
NVIDIA Cg Toolkit
®
Pixar’s RenderMan
April 2008
© ISO 2012 – All rights reserved 13
---------------------- Page: 16 ----------------------
ISO/PAS 17506:2012(E)
xii COLLADA – Digital Asset Schema Release 1.5.0
For more information on COLLADA, visit:
www.khronos.org/collada
http://collada.org
April 2008
14 © ISO 2012 – All rights reserved
---------------------- Page: 17 ----------------------
ISO/PAS 17506:2012(E)
Chapter 1:
Design Considerations
Introduction
Development of the COLLADA Digital Asset Exchange schema involves designers and software engineers
from many companies in a collaborative design activity. This chapter reviews the more important design
goals, thoughts, and assumptions made by the designers during the inception of the project.
Assumptions and Dependencies
During the first design phase of COLLADA, the contributors discussed and agreed on the following
assumptions:
• This is not a game engine or run-time delivery format. We assume that COLLADA will be beneficial
to users of authoring tools and to content-creation pipelines for interactive applications. We assume
that most interactive applications will use COLLADA in the production pipeline, but not as a final
delivery mechanism. For example, most games will use proprietary, size-optimized, streaming-
friendly binary files.
• Artists and end users will want to quickly develop and test relatively simple content and test models
that still include advanced rendering techniques such as vertex and pixel programs (shaders). We
assume that rapid prototyping of content is important to artists and developers and that a human-
readable, text-based format, along with the ability to create valid “empty” or partial content, is
essential.
Goals and Guidelines
Design goals for the COLLADA Digital Asset Exchange schema include the following:
• To liberate digital assets from proprietary binary formats into a well-specified, XML-based, royalty-
free, open-standard format.
• To provide a standard common language format so that COLLADA assets can be used directly in
existing content tool-chains, and to facilitate this integration.
• To be adopted by as many digital-content users as possible.
• To provide an easy integration mechanism that enables all the data to be available through
COLLADA.
• To be a basis for common data exchange among 3D applications.
• To be a catalyst for digital-asset schema design among developers and DCC, hardware, and
middleware vendors.
The following subsections explain the goals and discuss their consequences and rationales.
Liberate Digital Assets from Proprietary Binary Formats
Goal: To liberate digital assets from proprietary binary formats into a well-specified, XML-based, royalty
free, open-standard format.
Digital assets are the most valuable artifact for most 3D application users.
April 2008
© ISO 2012 – All rights reserved 15
---------------------- Page: 18 ----------------------
ISO/PAS 17506:2012(E)
1-2 COLLADA – Digital Asset Schema Release 1.5.0
Developers have enormous investment in assets that are stored in opaque proprietary formats. Exporting
the data from the tools requires considerable investment to develop software for proprietary, complex
software development kits. Even after this investment has been made, it is still impossible to modify the
data outside of the tool and import it again later. It is necessary to permanently update the exporters with
the ever-evolving tools, with the risk of seeing the data become obsolete.
Hardware vendors need increasingly more-complex assets to take advantage of new hardware. The data
needed may exist inside a tool, but there is often no way to export this data from the tool. Or exporting this
data is a complex process that is a barrier to developers using advanced features, and a problem for
hardware vendors in promoting new products.
Middleware and tool vendors have to integrate with every tool chain to be able to be used by developers,
which is an impossible mission. Successful middleware vendors have to provide their own extensible tool
chain and framework, and have to convince developers to adopt it. That makes it impossible for developers
to use several middleware tools in the same project, just as it is difficult to use several DCC tools in the
same project.
This goal led to several decisions, including:
• COLLADA will use XML.
XML provides a well-defined framework for structured content. Issues such as character sets
(ASCII, Unicode, shift-jis) are already covered by the XML standard, making any schema that uses
XML instantly internationally useful. XML is also fairly easy to understand given only a sample
instance document and no documentation, something that is rarely true for other formats. There are
XML parsers and text editors for nearly every language on every platform, making the documents
easily accessible to almost any application.
• COLLADA will not use binary data inside XML.
Some discussion often occurs about storing vertices and animation data in some kind of binary
representation for ease of loading, speed, and reduced asset size. Unfortunately, that goes counter
to the desire of being useful to the most number of users on development teams. Furthermore,
storing binary data within XML documents is problematic and well supported only using a base-64
encoding that contrarily increases the size of the data. Keeping COLLADA completely text based
supports the most options. COLLADA does provide mechanisms to store external binary data and
to reference it from a COLLADA asset.
• The COLLADA common profile will expand over time to include as much common data as possible.
Provide a Standard Common Language Format
Goal: To provide a standard common language format so that COLLADA assets can be used directly in
existing content tool-
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.