FORGE KUI / docs

Standalone 3D extension

kui_ext_3d is separate from the KUI core and connects through a C ABI, with backends including Filament and Bullet.

Version 3.61.7

Integration

kui_ext_3d is separate from the KUI core and connects through a C ABI, with backends including Filament and Bullet. Integrate it outside the engine build with find_package(Kui). The default-disabled legacy in-tree 3D implementation is a different path.

Constraints and troubleshooting

The procedural_pbr.filamat sidecar is required beside the runtime. Release scene, asset and physics objects according to the protocol and request invalidation for subsequent frames. Test first rendering, continuous updates, resize and destruction rather than only an initial triangle.

Standalone 3D element

The standalone kui_ext_3d registers kui-3d-view. It connects through a pure C ABI and carries its rendering and physics dependencies. New integrations use the independent extension rather than the default-disabled legacy in-tree path.

html
<kui-3d-view style="width:100%;height:480px"></kui-3d-view>

Scenes, assets and physics

The registry includes geometry, lights, camera controls, glTF assets, asset animation, rigid bodies, constraints and raycasting. Creating, adding to a scene and destroying are separate operations. Applications manage asset and entity-handle lifetimes.

Material deployment and runtime checks

procedural_pbr.filamat is a required sidecar, placed beside the extension in bin on Windows. Check material loading, first frame, resizing, transparency, animation and continued repainting at runtime. A model screenshot does not replace these checks.

Verify dependencies with a minimal scene

Verify a minimal scenario in this order before integrating the full application.

  1. Deploy the independent extension and material sidecar through the documented SDK component.
  2. Start with a minimal scene before adding models, textures and physics.
  3. Check dimensions, camera, lighting and asset paths separately; a blank scene has several possible causes.
  4. Release extension objects on close and avoid internal core 3D types.