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>