API

Interface GeometryRendererTask

Polymorphic interface that all frame-graph tasks implement: records Pass objects during record() and is executed once per frame.

interface GeometryRendererTask {
    engine: EngineContext;
    executionEnabled?: boolean;
    geometryAlbedoTexture: RenderTarget | null;
    geometryDepthTexture: RenderTarget;
    geometryIrradianceTexture: RenderTarget | null;
    geometryLinearVelocityTexture: RenderTarget | null;
    geometryLocalPositionTexture: RenderTarget | null;
    geometryMeshBlendTagTexture: RenderTarget | null;
    geometryNormalizedViewDepthTexture: RenderTarget | null;
    geometryReflectivityTexture: RenderTarget | null;
    geometryScreenspaceDepthTexture: RenderTarget | null;
    geometryViewDepthTexture: RenderTarget | null;
    geometryViewNormalTexture: RenderTarget | null;
    geometryWorldNormalTexture: RenderTarget | null;
    geometryWorldPositionTexture: RenderTarget | null;
    name: string;
    outputTexture: RenderTarget | undefined;
    scene?: SceneContext;
    dispose(): void;
    excludeFromVelocity(mesh: Mesh): void;
    execute?(): number;
    includeInVelocity(mesh: Mesh): void;
    record(): void;
}

Hierarchy (View Summary)

  • Task
    • GeometryRendererTask
Index

Engine captured at task creation.

executionEnabled?: boolean

Runtime frame-graph execution gate, default true. When false, the frame graph keeps the task recorded and its resources alive but skips every pass or built-in execute() call for that frame. This is independent from any task-specific enabled state whose disabled transition may still execute work.

geometryAlbedoTexture: RenderTarget | null
geometryDepthTexture: RenderTarget

Single-attachment depth RenderTarget exposing the pass's depth/stencil attachment. Downstream tasks (e.g. a RenderTask running after the geometry pass) can consume this as a depth input to reuse the values written here. When the caller supplied an external depthTexture in the config, this returns that same RT; otherwise it wraps the MRT-owned depth and is populated post-record().

geometryIrradianceTexture: RenderTarget | null

Per-type accessors. null when that type was not requested. Each value is a single-attachment RenderTarget whose color slot aliases the matching MRT attachment, so downstream tasks (copy-to-texture, etc.) can consume it like an ordinary RT.

geometryLinearVelocityTexture: RenderTarget | null
geometryLocalPositionTexture: RenderTarget | null
geometryMeshBlendTagTexture: RenderTarget | null
geometryNormalizedViewDepthTexture: RenderTarget | null
geometryReflectivityTexture: RenderTarget | null
geometryScreenspaceDepthTexture: RenderTarget | null
geometryViewDepthTexture: RenderTarget | null
geometryViewNormalTexture: RenderTarget | null
geometryWorldNormalTexture: RenderTarget | null
geometryWorldPositionTexture: RenderTarget | null
name: string
outputTexture: RenderTarget | undefined

The optional target texture the task wrote the real (lit) color into. Equal to GeometryRendererTaskConfig.targetTexture when the config provided one, otherwise undefined.

scene?: SceneContext

Owning scene for scene-bound tasks. Undefined for scene-less standalone frame graphs.