Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Google deepmind Mujoco Filament Builtins

From Leeroopedia
Revision as of 12:45, 16 February 2026 by Admin (talk | contribs) (Auto-imported from implementations/Google_deepmind_Mujoco_Filament_Builtins.md)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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

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

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment