Load a glTF asset with custom extensions registered.
More...
#include <OxygenEngine/scene/loader/gltf.h>
|
ExtensionManager | extensions |
|
|
void | _custom_load (const std::string &filename) |
|
std::vector< std::shared_ptr< oe::scene::Node > > | _scenes |
|
std::unordered_map< uint32_t, std::list< std::pair< std::shared_ptr< oe::scene::Mesh >, int32_t > > > | _meshes |
| std::list<std::pair<oe::scene::Mesh, int32_t>> _primitives;
|
|
std::unordered_map< uint32_t, std::list< std::pair< std::shared_ptr< oe::scene::SkinnedMesh >, int32_t > > > | _skinned_meshes |
|
std::unordered_map< oe::scene::SkinnedMeshNode *, uint32_t > | _skinned_nodes_skins |
|
std::vector< std::shared_ptr< oe::render::Texture > > | _textures |
|
std::function< void(const PbrMaterial &, Material &)> | _material_filler = {} |
|
std::function< void(Node &node, Material &node_material)> | _node_material_modifier = {} |
|
oe::scene::Material | _default_material |
|
std::unique_ptr< tinygltf::TinyGLTF > | _loader |
|
std::unique_ptr< tinygltf::Model > | _model |
|
std::function< void(const std::string &extension, Node &root_node, const nlohmann::json &extension_data, const bool pre_load)> | _custom_asset_extension_handler = {} |
|
std::function< void(const std::string &extension, Node &node, const nlohmann::json &extension_data)> | _custom_node_extension_handler = {} |
|
std::function< void(const std::string &extension, Material &material, const nlohmann::json &extension_data)> | _custom_material_extension_handler = {} |
|
template<typename ExtensionManager = gltf::ExtensionManager<gltf::Extension>>
class oe::scene::loader::GltfWithExtensions< ExtensionManager >
Load a glTF asset with custom extensions registered.
To use, you should first inherit from gltf::Extension to provide your implementation then generate an gltf::ExtensionManager that bind your extensions to their names
For example:
{
};
MyExtensionsManager my_gltf_extensions;
my_gltf_extensions.addExtension<ExampleExtension>("EXAMPLE_extension_name");
MyGltfLoader gltf_loader(my_gltf_extensions);
gltf_loader.load(filename, is_binary);
glTF custom extension manager
Definition gltf_extensions.h:114
Base class to handle glTF extensions.
Definition gltf_extensions.h:17
Load a glTF asset with custom extensions registered.
Definition gltf.h:211
◆ GltfWithExtensions()
template<typename ExtensionManager = gltf::ExtensionManager<gltf::Extension>>
Init the glTF loader with a custom list of extensions.
- Parameters
-
extensions | Extension manager to use |
◆ load()
template<typename ExtensionManager = gltf::ExtensionManager<gltf::Extension>>
Load a glTF asset from a file.
- Parameters
-
filename | path to the glTF asset |
The documentation for this class was generated from the following file:
- OxygenEngine/scene/loader/gltf.h