@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
35 lines (34 loc) • 1.6 kB
TypeScript
import { Camera, Vector2, WebGLRenderer } from 'three';
import { PolyScene } from '../../engine/scene/PolyScene';
import { AbstractRenderer } from '../../engine/viewers/Common';
import type { PathTracingRendererRopNode } from '../../engine/nodes/rop/PathTracingRenderer';
import type { WebGLRendererRopNode } from '../../engine/nodes/rop/WebGLRenderer';
import { PathTracingRendererContainer } from '../../engine/nodes/rop/utils/pathTracing/PathTracingRendererContainer';
interface RendererRopOptions {
camera: Camera;
scene: PolyScene;
}
interface RendererConfigOptions {
camera: Camera;
scene: PolyScene;
canvas: HTMLCanvasElement;
}
interface RendererConfigWebGL {
renderer: WebGLRenderer;
rendererNode?: WebGLRendererRopNode;
}
interface RendererConfigPathtracing {
renderer: PathTracingRendererContainer;
rendererNode?: PathTracingRendererRopNode;
}
export type AvailableRenderConfig = RendererConfigWebGL | RendererConfigPathtracing;
export declare class CoreCameraRendererController {
private static _defaultRendererByContext;
private static _renderersByCanvas;
static renderer(canvas: HTMLCanvasElement): AbstractRenderer | undefined;
static rendererNode(options: RendererRopOptions): import("../graph/CoreGraphNode").CoreGraphNode | undefined;
static rendererConfig<A extends AvailableRenderConfig>(options: RendererConfigOptions): A | undefined;
static setRendererSize(canvas: HTMLCanvasElement, size: Vector2): void;
static createDefaultRenderer(canvas: HTMLCanvasElement, gl: WebGLRenderingContext): WebGLRenderer;
}
export {};