Interface RendererInternal

Interface defining the rendering strategy used internally by a Viewer.

A Viewer integrates with an implementation of this interface to manage and render geometry and materials using a supported browser 3D graphics API, such as WebGL or WebGPU.

import { Viewer } from "@xeokit/sdk/viewer";

const myViewer = new Viewer({
id: "myViewer",
renderer: new WebGLRenderer({ }) // Or WebGPURenderer, MockRenderer, etc.
});
interface Renderer {
    rendererObjects: { [key: string]: RendererObject };
    get viewer(): Viewer;
    attachSceneModel(sceneModel: SceneModel): void | SDKError;
    attachView(view: View): void | SDKError;
    attachViewer(viewer: Viewer): void | SDKError;
    beginSnapshot(
        viewIndex: number,
        params?: { height: number; width: number },
    ): any;
    clear(viewIndex: number): void | SDKError;
    detachSceneModel(sceneModel: SceneModel): void | SDKError;
    detachView(view: View): void | SDKError;
    detachViewer(): void | SDKError;
    endSnapshot(): any;
    getCapabilities(capabilities: Capabilities): void;
    getNeedsRender(viewIndex: number): boolean | SDKError;
    getSAOSupported(): boolean;
    pick(
        viewIndex: number,
        pickParams: PickParams,
        pickResult?: PickResult,
    ): SDKError | PickResult;
    readSnapshot(params: any): string;
    readSnapshotAsCanvas(params: any): HTMLCanvasElement;
    render(viewIndex: number, params: { force?: boolean }): void | SDKError;
    renderSnapshot(): any;
    setEdgesEnabled(viewIndex: number, enabled: boolean): void | SDKError;
    setImageDirty(viewIndex?: number): void | SDKError;
    setNeedsRebuild(viewIndex: number): void | SDKError;
    setPBREnabled(viewIndex: number, enabled: boolean): void | SDKError;
    setSAOEnabled(viewIndex: number, enabled: boolean): void | SDKError;
    setTransparentEnabled(viewIndex: number, enabled: boolean): void | SDKError;
}

Implemented by

Properties

rendererObjects: { [key: string]: RendererObject }

Collection of renderer objects that control visibility, highlighting, selection, X-ray effects, and color adjustments for SceneObjects within this Renderer.

Accessors

Methods

  • Internal

    Begins snapshot mode for the given View.

    Parameters

    • viewIndex: number

      The View index. This matches !View.viewIndex | View.viewIndex on a View that is currently attached to this Renderer.

    • Optionalparams: { height: number; width: number }

      Snapshot configuration.

    Returns any

  • Internal

    Checks if Screen Space Ambient Occlusion (SAO) is supported by this Renderer.

    Returns boolean

    boolean indicating SAO support.

  • Internal

    Retrieves an image of the snapshot canvas as a data URI.

    Parameters

    • params: any

    Returns string

    The image data URI.

  • Returns an HTMLCanvasElement containing a snapshot image.

    Parameters

    • params: any

    Returns HTMLCanvasElement

    The snapshot canvas.

  • Internal

    Enables or disables edge enhancement for the specified attached View.

    Parameters

    • viewIndex: number

      The View index. This matches !View.viewIndex | View.viewIndex on a View that is currently attached to this Renderer.

    • enabled: boolean

      Whether to enable edge enhancement.

    Returns void | SDKError

    void if successful.

  • Internal

    Enables or disables Physically-Based Rendering (PBR) for the specified attached View.

    Parameters

    • viewIndex: number

      The View index. This matches !View.viewIndex | View.viewIndex on a View that is currently attached to this Renderer.

    • enabled: boolean

      Whether to enable PBR.

    Returns void | SDKError

    void if successful.

  • Internal

    Enables or disables Screen Space Ambient Occlusion (SAO) for the specified attached View.

    Parameters

    • viewIndex: number

      The View index. This matches !View.viewIndex | View.viewIndex on a View that is currently attached to this Renderer.

    • enabled: boolean

      Whether to enable SAO.

    Returns void | SDKError

    void if successful.

  • Internal

    Toggles the rendering of transparent objects for a specified View.

    Parameters

    • viewIndex: number

      The View index. This matches !View.viewIndex | View.viewIndex on a View that is currently attached to this Renderer.

    • enabled: boolean

      Determines whether transparency is enabled.

    Returns void | SDKError

    void if successful.