@webarkit/arnft-threejs
Version:
The ARnft rendering engine, based on Three.js
56 lines (55 loc) • 1.48 kB
TypeScript
import * as THREE from "three";
interface ConfigData {
camera: {
far: number;
fov: number;
matrixAutoUpdate: boolean;
near: number;
ratio: number;
};
renderer: {
alpha: boolean;
antialias: boolean;
context: any;
depth: boolean;
logarithmicDepthBuffer: boolean;
precision: string;
stencil: boolean;
premultipliedAlpha: boolean;
objVisibility: boolean;
};
}
interface Renderer {
render: (scene: THREE.Scene, camera: THREE.Camera) => void;
setPixelRatio: (pixelRatio: number) => void;
setSize: (w: number, h: number) => void;
}
interface Camera extends THREE.Camera {
matrixAutoUpdate: boolean;
}
interface Scene extends THREE.Scene {
add: (node: THREE.Object3D) => this;
}
export default class SceneRendererTJS {
canvas_draw: HTMLCanvasElement;
private camera;
private configData;
renderer: Renderer;
private uuid;
private root;
private target;
private scene;
private static globalScene;
private version;
constructor(configData: ConfigData, canvasDraw: HTMLCanvasElement, uuid: string, cameraBool: boolean);
initRenderer(): void;
draw(): void;
getRenderer(): Renderer;
getScene(): Scene;
getCamera(): Camera;
static getGlobalScene(): Scene;
setRenderer(renderer: Renderer): void;
setScene(scene: Scene): void;
setCamera(camera: Camera): void;
}
export {};