Interface RenderDriver

Driver for a concrete rendering backend (e.g., WebGL).

interface RenderDriver {
    context: RenderContext;
    diagnostics: RenderDiagnostics;
    projections: Projections;
    renderTarget: RenderTarget;
    textures: DriverTextures;
    addLifeCycleHandler<H extends RenderContextLifeCycleHandler>(
        handler: H,
    ): void;
    finalizeFrame(): void;
    initialize(): Promise<void>;
    prepareFrame(): boolean;
    removeLifeCycleHandler(handler: RenderContextLifeCycleHandler): boolean;
    setCanvasDimensions(dimensions: Vec2Like): void;
    useRenderTarget(renderTarget: RenderTarget | "canvas"): void;
}

Implemented by

Properties

context: RenderContext

Context.

diagnostics: RenderDiagnostics

Diagnostics like frame time.

projections: Projections

Projections.

renderTarget: RenderTarget
textures: DriverTextures

Driver-specific texture manager.

Methods

  • Call to prepare rendering a frame.

    Returns boolean

    false if preparation failed and rendering should not happen. Can be caused by WebGL context loss.