simvx.graphics.assets.mesh_loader

Full glTF scene loading — meshes, materials, textures, node hierarchy.

Module Contents

Classes

GLTFMaterial

Extracted PBR metallic-roughness material.

GLTFNode

Scene graph node with optional mesh reference.

GLTFScene

Complete loaded glTF scene.

Functions

load_gltf

Load complete glTF scene with all meshes, materials, textures, and hierarchy.

Data

API

simvx.graphics.assets.mesh_loader.__all__

[‘load_gltf’, ‘GLTFScene’, ‘GLTFMaterial’, ‘GLTFNode’]

simvx.graphics.assets.mesh_loader.log

‘getLogger(…)’

class simvx.graphics.assets.mesh_loader.GLTFMaterial

Extracted PBR metallic-roughness material.

name: str = <Multiline-String>
albedo: tuple[float, float, float, float]

(1.0, 1.0, 1.0, 1.0)

metallic: float

1.0

roughness: float

1.0

albedo_texture: str | None

None

normal_texture: str | None

None

metallic_roughness_texture: str | None

None

emissive_texture: str | None

None

ao_texture: str | None

None

double_sided: bool

False

alpha_mode: str

‘OPAQUE’

class simvx.graphics.assets.mesh_loader.GLTFNode

Scene graph node with optional mesh reference.

name: str = <Multiline-String>
mesh_index: int | None

None

material_indices: list[int]

‘field(…)’

transform: numpy.ndarray

‘field(…)’

children: list[int]

‘field(…)’

skin_index: int | None

None

class simvx.graphics.assets.mesh_loader.GLTFScene

Complete loaded glTF scene.

meshes: list[tuple[numpy.ndarray, numpy.ndarray]]

‘field(…)’

materials: list[simvx.graphics.assets.mesh_loader.GLTFMaterial]

‘field(…)’

nodes: list[simvx.graphics.assets.mesh_loader.GLTFNode]

‘field(…)’

root_nodes: list[int]

‘field(…)’

skins: list[dict[str, Any]]

‘field(…)’

animations: list[dict[str, Any]]

‘field(…)’

simvx.graphics.assets.mesh_loader.load_gltf(file_path: str) simvx.graphics.assets.mesh_loader.GLTFScene

Load complete glTF scene with all meshes, materials, textures, and hierarchy.

Returns a GLTFScene with all data extracted and ready for import.