@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
41 lines (40 loc) • 1.68 kB
TypeScript
import { WebGLRenderer, WebGLRendererParameters, WebGLRenderTarget, RenderTargetOptions } from 'three';
import type { AbstractRenderer } from '../viewers/Common';
import { PolyEngine } from '../Poly';
export interface WithPolyId {
_polygonId?: number;
}
export interface WithContextId {
_polygonjsContextId?: number;
}
export interface POLYAbstractRenderer extends AbstractRenderer, WithPolyId {
}
export interface CanvasContext extends WebGLRenderingContext, WithContextId {
}
export declare class RenderersController {
readonly poly: PolyEngine;
private static _nextGlContextId;
private _printDebug;
private _requireWebGL2;
private _webgl2_available;
private _webGLContextByCanvas;
private _defaultRendererByCanvas;
constructor(poly: PolyEngine);
dispose(): void;
setPrintDebug(state?: boolean): void;
printDebug(): boolean;
printDebugMessage(message: any): void;
setRequireWebGL2(): void;
webGL2Available(canvas?: HTMLCanvasElement): boolean;
private _getWebGL2Available;
defaultWebGLRendererForCanvas(canvas: HTMLCanvasElement): WebGLRenderer;
createWebGLRenderer(params: WebGLRendererParameters): WebGLRenderer;
assignIdToRenderer(renderer: AbstractRenderer): void;
rendererId(renderer: AbstractRenderer): number | undefined;
getRenderingContext(canvas: HTMLCanvasElement): WebGLRenderingContext | null;
private _getRenderingContextWebgl;
createRenderTarget(width: number, height: number, parameters: RenderTargetOptions): WebGLRenderTarget<import("three").Texture>;
private _linearRenderer;
linearRenderer(): WebGLRenderer | undefined;
private _createLinearRenderer;
}