This section documents which COLLADA extensions
are output by the Okino exporter. This section includes the following
sub-sections which document the extensions:
·<texture>
Material Extensions
·Bump Map Texture Extension
·<profile_COMMON> Material Extensions
·<double_sided>
Material Extension
·Camera Extensions
·Point & Spot Light Extensions
·“Visibility” Flags
for Hidden Geometry Extensions
·Okino Meta Data
Extensions
·Global Scene-Level Extensions
·Example Usage of the above Texture and Material
Extensions
These are output in the <extra>
sections associated with various file elements.
<texture> Material Extensions
These
extensions are <extra> children of texture definitions within a Phong
shader:
The extensions define additional parameters
related to the application of the texture map to the shader.
Okino <texture> Extensions:
Element
Attrib Supported
Type
Description
<weighting>
sid
float
This is the intensity multiplier associated
with each Okino texture map, except for a bump map for which it is the bump
mapping intensity. The multiplier is used to scale the intensity of the
texture map or overall bump mapping effect. Default value 1.0. Range is 0.0
to 1.0. For RGB texture maps, the 3 RGB multipliers are averaged together
into this one weighting value.
<modulation_source>
sid
string
Set to “rgb” or “alphachan”.
This parameter determines whether the RGB color of the texture map or its
alpha channel will be used as the method of modulation for the texture map.
For example, if set to “alphachan” then the alpha channel will be fed
into a diffuse texture map’s RGB intensity channel, the overall opacity
value, or the bump map intensity of the shader.
<color_blending_mask>
sid
string
Set to “rgb”, “alphachan” or
“off”. This tag determines how the color from the texture image is to be
mixedwith the previous diffuse,
ambient, luminous, specular and filter color layers ofthe surface.
If set to “off”, which is the default,
then the color mixing is set completely by <mix_with_previous_layer>.
If set to “rgb” then the color mixing
is controlled both by the <mix_with_previous_layer> value and the
intensity of the RGB colors from the texture image. If the RGBintensity of the texture image is bright
then the texture image will dominatethe surface color, else if the RGB intensity is dark then the previous
layercolor will dominate. The value
of <mix_with_previous_layer> is multiplied into the RGB intensity thus
allowing a method to control the mixing between the previous layer color and
the color output from the texture image.
If set to “alphachan” then the color
mixing is controlled both by <mix_with_previous_layer> and the linear
grayscale intensity of the alpha channel from thetexture image. If the alpha channel intensity of the texture
image is brightthen the RGB color
from the texture image will dominate the surface color,else if the alpha channel intensity is
dark then the previous layer color will dominate.The value of <mix_with_previous_layer> is multiplied into
the alpha channel intensity thus allowing a method to control the mixing
between the previous layer color and the RGB color output from the texture
image.
<mix_with_previous_layer>
sid
float
Okino texture maps are layered on top of each
other. This value determines how the color from the previous layer is mixed
into the current layer. A value of 1.0 uses only the current texture layer’s
intensity values. A value of 0.0 uses only the previous texture layer’s
intensity values. A value of 0.5 uses a 50/50 mix of both the current texture
output and the cumulated textures from the previous layer. The default is
1.0.
3ds max Compliant <texture> Extensions,
“MAX3D”
Element
Attrib Supported
Type
Description
<amount>
sid
float
Equivalent to the <weighting> tag of
the OKINO extension explained in the table able.
Maya Compliant <texture> Extensions,
“MAYA”
Element
Attrib Supported
Type
Description
<wrapU>, <wrapV>
sid
string
These determine if the texture map is to tile
in the U and/or V directions. 1 = yes, 0 = no.
<repeatU>, <repeatV>
sid
float
These are the U and V texture repeat values
(scaling). For example, a value of 2 will tile the texture twice or scale it
smaller by a factor of 0.5. The scale = 1.0 / repeat.
<offsetU>, <offsetV>
sid
float
These are the U and V texture offset values.
A value of 0.5 will offset the texture half-way across its domain.
<rotateUV>
sid
float
This is the texture rotation which is always
0.
Bump Map Texture Extension
The
COLLADA file format does not provide for the definition of <bump>
map textures. They are exported via the "FCOLLADA"
extension <bump> as defined in this example below. The children in
the <extra> section are described in the <texture> extensions
section above.
[
as defined in the <texture> extensions section above ]
</extra>
</texture>
</bump>
</technique>
<profile_COMMON> Material Extensions
These
extensions are <extra> children of a <profile_COMMON> shader:
<effect><profile_COMMON>
The extensions define additional parameters
related to the shading parameters of a material.
Okino <profile_COMMON> Extensions:
Element
Attrib Supported
Type
Description
<filter_color>, <color>
sid
RGB
The RGB filter color
<phong>, <shininess>
sid
float
For Okino Phong shaders this is the 0.0 to
100.0 intensity of the Phong highlight intensity (the shininess). For Okino
Blinn shaders this is equal to 100.0 * (1.0 / C3).
<phong>, <metal>
sid
float
This value determines if the specular
highlight will take on the color of the light source (0.0) or the material
specular color (1.0). The default is 0.0.
<shading_coefficients>,
<<type>>
sid
float
This sets the shading multiplier for each
shader channel. <type> is one of <ambient>, <diffuse>,
<specular>, <luminous>, <reflect> or <filter>. These
values are usually in the range of 0.0 to 1.0, although the <specular>
is allowed to exceed 1.0 in Okino software. For example, a value of 0.5 for
<diffuse> will scale the final computed diffuse shading value by 0.5
before being mixed into the final output color.
<opacity>, <face>
sid
float
This is the overall material opacity. 0.0 =
transparent and 1.0 = opaque.
<opacity>, <reflect>
sid
float
This is the highlight opacity. 0.0 =
transparent and 1.0 = opaque.
<opacity>, <edge>
sid
float
This is the edge opacity when
<edge_enable> is set to 1 (on). 0.0 = transparent and 1.0 = opaque.
<opacity>, <edge_exponent>
sid
float
This determines the dominant opacity for
edges. Values 0 to 1 bias towards the <face> opacity while values from
1 to 50 bias towards the <edge> opacity.
<opacity>, <edge_enable>
sid
int
If set to ‘1’ then “<opacity>,
<edge>” and “<opacity>, <edge_exponent>” will be enabled in
which case the opacity will change as the edge of an object is shaded (such
as the sides of a sphere). This allows “glass like” changes in opacity to be
made based on surface curvature. If set to ‘0’ then the edge opacities will
be ignored.
<double_sided> Material Extension
If
the “Output <double_sided> asset flag” UI checkbox is enabled on
the exporter, in the “Materials” panel, then the <double_sided>
flag will be output to the COLLADA material section using the “OKINO”, “MAX3D”
and “GOOGLEEARTH” profiles. See below for a placement example. This informs the
destination viewer to disable back-face culling for the object to which the
material is assigned (in other words, all polygons will be rendered even if
some are technically pointing away from the camera).
Camera Extensions
The “OKINO” and “XSI” profiles
define the <interestdist> tag which is the distance from a perspective
camera’s look-at and look-from locations. Since COLLADA orients cameras via a
matrix, this relationship of distance between the look-from and look-at
locations are lost.
The “FCOLLADA” profile and the <target_default_dist>
tag is used to output the Okino light parameter for a point or spot light which
defines the distance from the light source at which the light intensity starts
to decay from its normal intensity down to 0. This is an Okino specific light
decay parameter.
If a geometry instance is hidden and the “Hidden
Objects” radio button on the exporter is set to “Output as <extra>
tag” then the following FCOLLADA and XSI profile tags are output as
children of a <node>:
<node
id="Box-node" name="Box" type="NODE">
<extra>
<technique profile="FCOLLADA">
<visibility>0</visibility>
</technique>
<technique profile="XSI">
<SI_Visibility>
<xsi_param sid="visibility">FALSE</xsi_param>
</SI_Visibility>
</technique>
</extra>
Okino Meta Data Extensions
Meta data is output using the Okino <metadata_collection>
and <metadata> extensions for meta data associated with the Okino
global scene or for instances (geometry), cameras, lights and materials
(surfaces).
The following internal Okino scene graph meta
data types are supported when exporting to COLLADA: strings, shorts, ints,
floats, colors, vectors, double precision vectors, 4x4 matrices, 4x4 double
precision matrices, time, double precision floats, 4 valued vectors, and
4-valued double precision vectors. All numeric values will be converted into
meta data string for output to COLLADA, as exemplified in the example below.
Example of Meta Data on an
Instance (geometry node):
<node id="Box-node" name="Box"
type="NODE">
<extra>
<technique profile="OKINO">
<metadata_collection>
<metadata type="string" name="NdString for
Nt_INSTANCE">NdString data item</metadata>
<metadata type="string" name="NdChar for
Nt_INSTANCE">NdChar data item</metadata>