Taos API Reference
    Preparing search index...

    Interface DrawItem

    One mesh instance to be drawn into the G-Buffer this frame. normalMatrix is the inverse-transpose of the upper 3×3 of modelMatrix, stored as a Mat4 for uniform alignment.

    previousModelMatrix is only consumed by VelocityPass when motion blur runs in velocity-buffer mode. Omitting it (or setting it equal to modelMatrix) yields zero per-object motion — i.e. the object appears static and the motion blur shader will fall back to camera-only reprojection.

    interface DrawItem {
        mesh: Mesh;
        modelMatrix: Mat4;
        normalMatrix: Mat4;
        material: Material;
        previousModelMatrix?: Mat4;
        fade?: number;
        doubleSided?: boolean;
        tint?: [number, number, number];
        excludeMask?: number;
    }
    Index

    Properties

    mesh: Mesh
    modelMatrix: Mat4
    normalMatrix: Mat4
    material: Material
    previousModelMatrix?: Mat4

    Optional: world matrix from the previous frame, for per-object motion blur.

    fade?: number

    Optional cross-fade alpha in [0,1]; 1 (or undefined) renders fully opaque. Below 1 the fragment is screen-door dithered (see geometry.wgsl) — used by 3D-tile LOD cross-fades to dissolve a finer tile in over its coarser parent.

    doubleSided?: boolean

    Optional: render without back-face culling (cullMode 'none'). For glTF doubleSided materials and mixed-winding content — e.g. Cesium terrain b3dm tiles, whose triangles aren't consistently wound, so back-face culling drops ~half of them. Defaults to false (cull back). Mirrors the per-draw double-sided support in ForwardPass.

    tint?: [number, number, number]

    Optional debug tint (linear RGB) mixed into this draw's G-buffer albedo, so a flat color washes over the real material instead of replacing it (e.g. the Tile-LOD overlay). Omitted / (0,0,0) = no tint. Packed into the model uniform's spare floats (see geometry.wgsl model.fade.yzw); the lit result still shades normally.

    excludeMask?: number

    Optional 8-bit light-exclusion mask written into the G-buffer (emissive.a). A deferred point/spot/area light with a matching bit in its own excludeMask skips this surface — (surface & light) != 0 → not lit. 0 (default) = excluded from nothing. See MeshRenderer.lightExcludeMask.