UNPKG

@shopware-ag/dive

Version:

Shopware Spatial Framework

95 lines (94 loc) 2.5 kB
import { WebGPURenderer } from 'three/webgpu'; import { DIVEScene } from '../scene/Scene.ts'; import { DIVEPerspectiveCamera } from '../camera/PerspectiveCamera.ts'; import { DIVEEnvironment } from '../environment/Environment.ts'; export type DIVERendererSettings = { /** * The canvas to render to. When undefined, the canvas will be created automatically and reachable via the `diveInstance.canvas` property. * * @default undefined */ canvas: HTMLCanvasElement | undefined; /** * Whether to enable antialiasing * * @default true */ antialias: boolean; /** Whether to enable alpha channel */ alpha: boolean; /** * Power preference for the WebGL context * * @default 'high-performance' */ powerPreference: 'high-performance' | 'low-power'; /** * Precision of the shader * * @default 'highp' */ precision: 'highp' | 'mediump' | 'lowp'; /** * Whether to enable stencil buffer * * @default false */ stencil: boolean; /** * Whether to enable depth buffer * * @default true */ depth: boolean; /** * Whether to use logarithmic depth buffer * * @default true */ logarithmicDepthBuffer: boolean; /** * Whether to enable shadows * * @default true */ shadows: boolean; /** * The quality of the shadows * * @default 'high' */ shadowQuality: 'high' | 'medium' | 'low'; }; export declare const DIVERendererDefaultSettings: Required<DIVERendererSettings>; /** * A changed version of the WebGLRenderer. * * Has to be started manually by calling StartRenderer(). * * @module */ export declare class DIVERenderer { private _scene; private _camera; readonly isDIVERenderer: true; private _webgpurenderer; private _environment; private _initPromise; private _settings; constructor(_scene: DIVEScene, _camera: DIVEPerspectiveCamera, settings?: Partial<DIVERendererSettings>); get webgpurenderer(): WebGPURenderer; get environment(): DIVEEnvironment; get canvas(): HTMLCanvasElement; get initialized(): boolean; initAsync(): Promise<void>; /** * @deprecated Use {@link DIVERenderer.tick} instead. */ render(): void; tick(): void; onResize(width: number, height: number): void; dispose(): void; setCanvas(canvas: HTMLCanvasElement): void; private _createWebGPURenderer; }