siggraph 2010 - collada bof - 2 - extensions process
TRANSCRIPT
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
1/23
Extensions Pr
Rmi Arnaud
Chief Software Architect, Screampoint Intl.
Mark Barnes
Sr Software Architect, Biodroid Productions Lda.
COLLADA Work Group Chairman, The Khronos Group
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
2/23
Agenda
COLLADA usage model
COLLADA extension mechanism
Extensions by example
NEW- Khronos WG COLLADA extension process
Questions?
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
3/23
COLLADA extensions usage model
COLLADA users required extensions
o project/user specific meta data carried from DCC to ApplicationExport user defined properties of Max nodes into an extra element of the corresponding COLLADA nod
Max/Maya plug-ins.
COLLADA tool vendors required extensions
o tool can refine COLLADA definition with additional parametersCamera XSI extension extends the COLLADA common representation
https://collada.org/mediawiki/index.php/Camera_XSI_extension
o tool want to provide an alternative representation Alternative shader languages (Cg, GLSL, HLSL)Renderman shader code as alternative http://www.cs.utexas.edu/ftp/pub/techreports/honor
whiteford.pdf
o using COLLADA as a tool native format extensions replacing proprietary format
COLLADA is the basis format of LightWave CORE , with extensions added by the NewTek engineerinhttp://www.newtek.com/lightwave/core/
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
4/23
COLLADA extensibility model
COLLADA is a declarative data model
Schema includes extensions mechanisms
Adding
Declarations represent new features
Replacing
Declarations represent alternative techniques (descriptions)
Combining
Adding and Replacing recursively
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
5/23
Extension Mechanisms
profiles
Replace one description with another
Choose the best profile
types
Add declarations to most everything
A bag of techniques
Adding choices can be recursive
semantics
Add new streams to data flows
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
6/23
COLLADA extension mechanis
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
7/23
COLLADA extension mechanis
or or primitive choice
0 0 0 1 1 0 .
Standard semantics defined in COLLADA spec. 5-40
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
8/23
Extension rules COLLADA spec. 3-6
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
9/23
Example Extension - bump
11
000
00
11..
0.11
...
0 0 0 10 0 0 1
8.0
0 0 0 10
0 0 0 110
11
00
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
10/23
Example Extension - bump
...
0 0 0 10 0 0 1
8.0
0 0 0 10
0 0 0 110
11
00
11
000
00
11..
0.11
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
11/23
.
.
true0 0 0
10.000000
Example Extension - LOD
Ignoring resultin flickering (z-fighting)
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
12/23
Example improved LOD extension
true
0 0 0
.
10.000000
Ignoring
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
13/23
Need for multi-vendor extensions
http://www.okino.com/conv/exp_collada_extensions.htm
1
1
1
!!!
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
14/23
COLLADA Extension Process Summary
Visit https://collada.org/mediawiki/index.php/Portal:Extension
Determine if you need to create an extension
Create your extension by following the guidelines
Submit draft to COLLADA work group for review
Get feedback from the COLLADA specification working group
Receive Published stamp of approval
V
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
15/23
Visit
C
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
16/23
Create
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
17/23
Is there already an extension that does what I wa
Can it be used instead of writing a new one?
reuse of an existing specification
or promoting single-vendor COLLADA extensions to multi-vendor or Khronos-appr
ask the COLLADA Working Group chair whether anyone has already defined related
Sh ld th t i b Kh d
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
18/23
Should the extension be Khronos-approved, muor single vendor?
If the functionality being designed is going to be used by multiple applications - as most
idea to agree on a single extension with other developers - this makes it easier for vendor
development of the extensions, and better interoperability for end-users.
If the functionality is well-understood, it may be appropriate to define a Khronos-approvis the most "blessed" category of extension; it goes through the entire standards process,
the working group, but remains optional functionality.
Khronos-approved extensions are IP-safe, royalty-free licence. Khronos contributing meKhronos-approved extensions. Vendor or multi-vendor extensions may not be. Khronos-
extensions are as good as features added to the specification, it is a fast path for adding fespecifications.
Some extensions may have to remain proprietary and would therefore not be published.
useful to designers of proprietary extensions however.
D
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
19/23
Determ
ine
D
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
20/23
Determ
ine
D
-
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
21/23
Determ
ine
E
https://collada.org/mediawiki/index.php/Morph_weights_EXT_extension -
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
22/23
Examp
le
https://collada.org/mediawiki/index.php/Morph_weights_EXT_extension -
8/9/2019 SigGraph 2010 - Collada BOF - 2 - Extensions Process
23/23
Questions?