Extension: Difference between revisions
mNo edit summary |
some editing |
||
Line 1: | Line 1: | ||
[[COLLADA]] provides flexibility by allowing applications to define '''extensions''' to existing COLLADA elements. These extensions take the form of alternative <technique> elements, additive <extra> elements, and scalable <input> elements. | [[COLLADA]] provides flexibility by allowing applications to define '''extensions''' to existing COLLADA elements. These extensions take the form of alternative <technique> elements, additive <extra> elements, and scalable <input> elements. | ||
= Extension by Alternative = | == Extension by Alternative == | ||
[[COLLADA]] enables | [[COLLADA]] enables multiple representations of many elements. In such cases, the element is defined using one <technique_common> and zero or more <technique> elements. The common technique is a representation of the element that is strongly typed in the schema and is required. | ||
Other techniques are defined by | Other techniques are defined by a vendor supplying an alternative representation. Each <technique> has a ''profile'' attribute that indicates the platform (product name or similar) to which the extension applies. | ||
Each alternative representation of an extensible element should contain values that describe the element for that profile. The representations may have coherency | Each alternative representation of an extensible element should contain values that describe the element for that profile. The representations may have coherency among profiles, although that is not required. In other words, if <technique_common> describes an ambient light, it is valid if a <technique> for that light describes something else, such as an area light for that profile. | ||
== Using <technique> to choose profiles == | === Using <technique> to choose profiles === | ||
A COLLADA processor | A COLLADA processor chooses one, and only one, of the available alternatives. It chooses '''either''' the <technique_common> '''or''' one of the <technique> elements. {{highlight|Where alternative choices are possible within the schema, the <technique> element models the alternative extensions.}} ''QUESTION: I don't follow the preceding highlighted sentence; isn't it just saying the same thing that was already said earlier?'' For example: | ||
<light> | <light> | ||
Line 22: | Line 22: | ||
</list> | </list> | ||
= Extension by Addition = | == Extension by Addition == | ||
== Using <extra> to add data == | === Using <extra> to add data === | ||
=== <extra> uses <technique> too === | ==== <extra> uses <technique> too ==== | ||
= Scalable Vertex Attributes = | == Scalable Vertex Attributes == | ||
== Using <input> to add attribute streams == | === Using <input> to add attribute streams === | ||
Revision as of 20:37, 29 October 2007
COLLADA provides flexibility by allowing applications to define extensions to existing COLLADA elements. These extensions take the form of alternative <technique> elements, additive <extra> elements, and scalable <input> elements.
Extension by Alternative
COLLADA enables multiple representations of many elements. In such cases, the element is defined using one <technique_common> and zero or more <technique> elements. The common technique is a representation of the element that is strongly typed in the schema and is required.
Other techniques are defined by a vendor supplying an alternative representation. Each <technique> has a profile attribute that indicates the platform (product name or similar) to which the extension applies.
Each alternative representation of an extensible element should contain values that describe the element for that profile. The representations may have coherency among profiles, although that is not required. In other words, if <technique_common> describes an ambient light, it is valid if a <technique> for that light describes something else, such as an area light for that profile.
Using <technique> to choose profiles
A COLLADA processor chooses one, and only one, of the available alternatives. It chooses either the <technique_common> or one of the <technique> elements. Where alternative choices are possible within the schema, the <technique> element models the alternative extensions. QUESTION: I don't follow the preceding highlighted sentence; isn't it just saying the same thing that was already said earlier? For example:
<light> <technique_common> <ambient> <color/> </ambient> </technique_common> <technique profile="alternative_1"/> <technique profile="alternative_2"/> </list>