Represents a logical renderable object within the WebGL renderer, grouping one or more RendererMesh instances.

  • RendererObject is the GPU-side container for all meshes that make up a single scene/model object.
  • Each RendererObject owns one or more RendererMesh instances, each representing a distinct mesh or geometry part of the object.
  • Provides APIs to control visual and interaction state (visibility, highlighting, selection, x-ray, culling, clipping, collision, picking) across all its meshes and views.
  • Delegates all geometry, GPU memory, and RTC tiling logic to its RendererMesh instances.
  • RendererMesh instances are managed and batched by MeshBatchImpl, which organizes compatible meshes for efficient GPU upload and draw calls.
  • The MeshManager (or MeshBatchRegistry) coordinates creation, update, and removal of RendererObject and RendererMesh instances, responding to scene/view changes and synchronizing with the GPU memory manager.
  • The ViewManager manages all per-view state, coordinates with MeshManager, and tracks all RendererObject instances for each view.
  • The root WebGLRenderer owns the ViewManager, which in turn manages all RendererObject instances for the renderer.
  • Used internally by the renderer for efficient per-object state updates and synchronization with the GPU; application code interacts with higher-level scene/model objects.

Constructors

Properties

id: string

Unique identifier for the object. This ID is used to reference the object within the renderer.

Methods

  • Sets the opacity of the object in a specific view.

    Pass undefined (or null) to clear the per-mesh opacity override on each owned RendererMesh. The mesh's setOpacityInView interprets a null/undefined argument as "fall back to the SceneMesh's effectiveOpacity and clear the ColoringOpacity flag" — exactly what's needed when the upstream caller has cleared a ViewObject's opacity override (e.g. a 4D scheduler returning a finished task's objects to their native material alpha).

    Pass a number in [0, 1] to enable the override at that value; the mesh-level method quantises and writes the per-mesh data texture and sets the ColoringOpacity flag to true.

    Earlier behaviour clamped the null/undefined branch to a literal 255 quantised opacity and forwarded the number — this was visually equivalent to "force every mesh to alpha = 1.0", which silently routed naturally-transparent glass and curtain- wall meshes through the opaque render bin and produced uniform silhouettes on schedule-finish.

    Parameters

    • viewIndex: number
    • Optionalopacity: number

    Returns void