Gltfio
object Gltfio
gltfio (glTF I/O) is a loader and pipeline for glTF 2.0 assets in Filament.
gltfio consumes glTF 2.0 content (JSON or GLB format) and produces FilamentAsset objects containing Filament textures, vertex buffers, index buffers, and entities. Assets can be composed of one or more FilamentInstance objects with entities and components.
Typical workflow:
Gltfio.init() // Initialize once at startup
val materials = createUbershaderProvider(engine)
val loader = AssetLoader.create(AssetConfiguration(engine, materials))
val asset = loader.createAsset(gltfData)
val stb = createStbProvider(engine)
val resourceLoader = ResourceLoader(ResourceConfiguration(engine))
resourceLoader.addTextureProvider("image/png", stb)
resourceLoader.loadResources(asset) // Load textures and data
val instance = asset.instance
scene.addEntity(instance.root)
loader.destroyAsset(asset)
AssetLoader.destroy(loader)
resourceLoader.destroy()
stb.destroy()
materials.destroyMaterials()
materials.destroy()Content copied to clipboard
Key classes:
AssetLoader: Parses glTF and creates FilamentAsset objects
FilamentAsset: Owns loaded entities, materials, and resources
FilamentInstance: A single instance of an asset with animations and skins
Animator: Applies skeletal animations
MaterialProvider: Supplies materials (createUbershaderProvider)
ResourceLoader: Loads textures and vertex/index buffer data