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()

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

See also

Functions

Link copied to clipboard
fun init()

Initialize gltfio.