Implementation:Google deepmind Mujoco Filament Builtins
| Knowledge Sources | |
|---|---|
| Domains | Rendering, 3D Graphics |
| Last Updated | 2026-02-15 04:00 GMT |
Overview
Generates built-in geometric primitives (lines, boxes, spheres, cones, domes, tubes, planes, triangles) as Filament vertex and index buffers for MuJoCo scene rendering.
Description
builtins.cc provides factory functions that construct fundamental geometric shapes used throughout the Filament rendering backend. Each shape builder class (such as LineBuilder, BoxBuilder, etc.) generates vertex data with positions, normals, orientations, and UV coordinates, then fills Filament vertex and index buffers. The file defines constants for vertices and indices per triangle and quad, and uses helper classes from buffer_util.h and vertex_util.h to manage GPU buffer creation.
Usage
Used internally by the Filament rendering pipeline when constructing the scene geometry for MuJoCo visualization. These built-in shapes are created once during initialization by ObjectManager and reused for drawing MuJoCo geoms, decorations, and visual elements.
Code Reference
Source Location
- Repository: Google_deepmind_Mujoco
- File: src/experimental/filament/filament/builtins.cc
- Lines: 1-826
Key Functions
std::size_t NumVerticesPerSide(int num_quads_per_axis);
std::size_t NumIndicesPerSide(int num_quads_per_axis);
static int AppendQuadIndices(uint16_t* ptr, int idx, uint16_t a, uint16_t b, uint16_t c, uint16_t d);
// LineBuilder, BoxBuilder, ConeBuilder, DiskBuilder, DomeBuilder, TubeBuilder, PlaneBuilder, SphereBuilder, TriangleBuilder
Import
#include "experimental/filament/filament/builtins.h"
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| engine | filament::Engine* | Yes | Filament engine instance for buffer creation |
| model | const mjModel* | Yes | MuJoCo model providing visualization parameters |
| num_quads_per_axis | int | No | Resolution parameter controlling mesh subdivision |
Outputs
| Name | Type | Description |
|---|---|---|
| Shape | Shape struct | Contains Filament vertex buffer, index buffer, and bounding box for a geometric primitive |