Assets
Tellusim assets are represented as directories with a *.asset extension or as archive files.
Each asset must include a meta info file describing its properties.
The meta info file can include additional user-defined parameters.
ZIP archives with zero compression are highly effective for fast asset loading.
Object Assets
Object assets are designed for use with ObjectMesh types.
These assets must include an object.asset meta info file.
The meta info file must define the following parameters:
-
mesh_name- The name of the mesh file within the archive. -
mesh_flags- (Optional) A comma-separated string representing ObjectMesh::Flags. This parameter overrides the flags argument passed to ObjectMesh::loadAsset().
Valid mesh_flags values include:
upd, dir, ver, opt, ske, ani, mat, tes, v16, i16, mes, tra, spa, poi, lin, tri, qua, bas, nor, ski, tex, tex2, tex4, col, col2, col4, mor.
Example (Object Asset)
<?xml version="1.0" encoding="utf-8"?>
<object>
<mesh_name>model.usdc</mesh_name>
<mesh_flags>opt,mat,ski</mesh_flags>
</object>
Material Assets
Material assets are designed for use with Material types.
These assets must include a material.asset meta info file.
The meta info file must define the following parameters:
num_textures- (Optional) The number of texture entries in the asset.texture- One or more blocks defining texture parameters.num_uniforms- (Optional) The number of uniform entries in the asset.uniform- One or more blocks defining uniform parameters.
Each texture block includes:
name- Name of Material texture parameter.hash- (Optional) String-based hash to avoid filename collisions.file- Filename of the texture within the asset.
The uniform block contains:
name- Name of Material uniform parameter.size- Size of the uniform parameter (number of elements).data- Value of the uniform parameter.
Material assets can override texture and uniform parameters of any Material instance.
Example (Material Asset)
<?xml version="1.0" encoding="utf-8"?>
<material>
<name>Copper_scuffed</name>
<category>metals</category>
<num_textures>3</num_textures>
<texture>
<name>normal</name>
<file>Copper_scuffed_normal.jpg</file>
</texture>
<texture>
<name>diffuse</name>
<file>Copper_scuffed_diffuse.jpg</file>
</texture>
<texture>
<name>metallic</name>
<file>Copper_scuffed_metallic.jpg</file>
</texture>
<source>freepbr.com</source>
</material>