Small World Engine API Reference - v0.76.20
    Preparing search index...

    Interface Renderer

    Interface for all renderer implementations.

    interface Renderer {
        clearColor: Color;
        gpuDevice?: GPUDevice;
        postProcessing: PostProcessingGroup;
        quality: QualityConfig;
        type: RendererType;
        webglContext?: WebGLRenderingContext | WebGL2RenderingContext;
        destroy?(): void;
        initialize(
            canvas: HTMLCanvasElement,
            attributes?: Record<string, unknown>,
            config?: EngineOptions,
        ): Promise<void>;
        render(
            scene: Scene,
            vpMatrix: Float32Array,
            camPos?: Vector3D,
            viewMatrix?: Float32Array<ArrayBufferLike>,
            near?: number,
            far?: number,
            projMatrix?: Float32Array<ArrayBufferLike>,
        ): void;
        setClearColor(color: Color): void;
        setRenderTarget(
            target: RenderTarget | RenderTargetCube | null,
            activeCubeFace?: number,
        ): void;
        setSize(width: number, height: number): void;
    }

    Implemented by

    Index
    clearColor: Color

    Gets the clear color of the renderer.

    gpuDevice?: GPUDevice

    WebGPU Device (only for WebGPU renderer)

    postProcessing: PostProcessingGroup

    The global post-processing volume/group.

    quality: QualityConfig

    Gets the global quality settings of the renderer.

    The type of the renderer.

    webglContext?: WebGLRenderingContext | WebGL2RenderingContext

    WebGL Context (for WebGL1/2 renderers)

    • Initializes the renderer.

      Parameters

      • canvas: HTMLCanvasElement
      • Optionalattributes: Record<string, unknown>
      • Optionalconfig: EngineOptions

      Returns Promise<void>

    • Renders a scene.

      Parameters

      • scene: Scene
      • vpMatrix: Float32Array
      • OptionalcamPos: Vector3D
      • OptionalviewMatrix: Float32Array<ArrayBufferLike>
      • Optionalnear: number
      • Optionalfar: number
      • OptionalprojMatrix: Float32Array<ArrayBufferLike>

        The camera's raw projection matrix, used by HBAO to reconstruct view-space position from depth.

      Returns void

    • Sets the active render target for off-screen rendering. If null, the renderer targets the screen/post-processing buffer.

      Parameters

      • target: RenderTarget | RenderTargetCube | null

        The target to render into.

      • OptionalactiveCubeFace: number

        Optional. Which face (0-5) of the RenderTargetCube to render into.

      Returns void

    • Sets the size of the render viewport.

      Parameters

      • width: number
      • height: number

      Returns void