# {py:mod}`simvx.graphics.assets.mesh_loader` ```{py:module} simvx.graphics.assets.mesh_loader ``` ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`GLTFMaterial ` - ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFMaterial :summary: ``` * - {py:obj}`GLTFNode ` - ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFNode :summary: ``` * - {py:obj}`GLTFScene ` - ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFScene :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`load_gltf ` - ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.load_gltf :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.__all__ :summary: ``` * - {py:obj}`log ` - ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.log :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.graphics.assets.mesh_loader.__all__ :value: > ['load_gltf', 'GLTFScene', 'GLTFMaterial', 'GLTFNode'] ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.__all__ ``` ```` ````{py:data} log :canonical: simvx.graphics.assets.mesh_loader.log :value: > 'getLogger(...)' ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.log ``` ```` `````{py:class} GLTFMaterial :canonical: simvx.graphics.assets.mesh_loader.GLTFMaterial ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFMaterial ``` ````{py:attribute} name :canonical: simvx.graphics.assets.mesh_loader.GLTFMaterial.name :type: str :value: ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFMaterial.name ``` ```` ````{py:attribute} albedo :canonical: simvx.graphics.assets.mesh_loader.GLTFMaterial.albedo :type: tuple[float, float, float, float] :value: > (1.0, 1.0, 1.0, 1.0) ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFMaterial.albedo ``` ```` ````{py:attribute} metallic :canonical: simvx.graphics.assets.mesh_loader.GLTFMaterial.metallic :type: float :value: > 1.0 ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFMaterial.metallic ``` ```` ````{py:attribute} roughness :canonical: simvx.graphics.assets.mesh_loader.GLTFMaterial.roughness :type: float :value: > 1.0 ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFMaterial.roughness ``` ```` ````{py:attribute} albedo_texture :canonical: simvx.graphics.assets.mesh_loader.GLTFMaterial.albedo_texture :type: str | None :value: > None ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFMaterial.albedo_texture ``` ```` ````{py:attribute} normal_texture :canonical: simvx.graphics.assets.mesh_loader.GLTFMaterial.normal_texture :type: str | None :value: > None ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFMaterial.normal_texture ``` ```` ````{py:attribute} metallic_roughness_texture :canonical: simvx.graphics.assets.mesh_loader.GLTFMaterial.metallic_roughness_texture :type: str | None :value: > None ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFMaterial.metallic_roughness_texture ``` ```` ````{py:attribute} emissive_texture :canonical: simvx.graphics.assets.mesh_loader.GLTFMaterial.emissive_texture :type: str | None :value: > None ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFMaterial.emissive_texture ``` ```` ````{py:attribute} ao_texture :canonical: simvx.graphics.assets.mesh_loader.GLTFMaterial.ao_texture :type: str | None :value: > None ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFMaterial.ao_texture ``` ```` ````{py:attribute} double_sided :canonical: simvx.graphics.assets.mesh_loader.GLTFMaterial.double_sided :type: bool :value: > False ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFMaterial.double_sided ``` ```` ````{py:attribute} alpha_mode :canonical: simvx.graphics.assets.mesh_loader.GLTFMaterial.alpha_mode :type: str :value: > 'OPAQUE' ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFMaterial.alpha_mode ``` ```` ````` `````{py:class} GLTFNode :canonical: simvx.graphics.assets.mesh_loader.GLTFNode ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFNode ``` ````{py:attribute} name :canonical: simvx.graphics.assets.mesh_loader.GLTFNode.name :type: str :value: ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFNode.name ``` ```` ````{py:attribute} mesh_index :canonical: simvx.graphics.assets.mesh_loader.GLTFNode.mesh_index :type: int | None :value: > None ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFNode.mesh_index ``` ```` ````{py:attribute} material_indices :canonical: simvx.graphics.assets.mesh_loader.GLTFNode.material_indices :type: list[int] :value: > 'field(...)' ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFNode.material_indices ``` ```` ````{py:attribute} transform :canonical: simvx.graphics.assets.mesh_loader.GLTFNode.transform :type: numpy.ndarray :value: > 'field(...)' ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFNode.transform ``` ```` ````{py:attribute} children :canonical: simvx.graphics.assets.mesh_loader.GLTFNode.children :type: list[int] :value: > 'field(...)' ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFNode.children ``` ```` ````{py:attribute} skin_index :canonical: simvx.graphics.assets.mesh_loader.GLTFNode.skin_index :type: int | None :value: > None ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFNode.skin_index ``` ```` ````` `````{py:class} GLTFScene :canonical: simvx.graphics.assets.mesh_loader.GLTFScene ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFScene ``` ````{py:attribute} meshes :canonical: simvx.graphics.assets.mesh_loader.GLTFScene.meshes :type: list[tuple[numpy.ndarray, numpy.ndarray]] :value: > 'field(...)' ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFScene.meshes ``` ```` ````{py:attribute} materials :canonical: simvx.graphics.assets.mesh_loader.GLTFScene.materials :type: list[simvx.graphics.assets.mesh_loader.GLTFMaterial] :value: > 'field(...)' ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFScene.materials ``` ```` ````{py:attribute} nodes :canonical: simvx.graphics.assets.mesh_loader.GLTFScene.nodes :type: list[simvx.graphics.assets.mesh_loader.GLTFNode] :value: > 'field(...)' ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFScene.nodes ``` ```` ````{py:attribute} root_nodes :canonical: simvx.graphics.assets.mesh_loader.GLTFScene.root_nodes :type: list[int] :value: > 'field(...)' ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFScene.root_nodes ``` ```` ````{py:attribute} skins :canonical: simvx.graphics.assets.mesh_loader.GLTFScene.skins :type: list[dict[str, typing.Any]] :value: > 'field(...)' ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFScene.skins ``` ```` ````{py:attribute} animations :canonical: simvx.graphics.assets.mesh_loader.GLTFScene.animations :type: list[dict[str, typing.Any]] :value: > 'field(...)' ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.GLTFScene.animations ``` ```` ````` ````{py:function} load_gltf(file_path: str) -> simvx.graphics.assets.mesh_loader.GLTFScene :canonical: simvx.graphics.assets.mesh_loader.load_gltf ```{autodoc2-docstring} simvx.graphics.assets.mesh_loader.load_gltf ``` ````