@realsee/five
Version:
Realsee Renderer SDK
38 lines (37 loc) • 1.2 kB
TypeScript
import * as THREE from 'three';
import { FivePass } from './pass';
import { type Camera } from '../../../core/camera';
export type FlowingLight3DPassLine = {
id?: string;
points: THREE.Vector3[];
totalLength: number;
color: THREE.Color;
opacity?: number;
duration?: number;
lineWidth?: number;
tailLengthRatio?: number;
startTime?: number;
};
export declare class FlowingLight3DPass extends FivePass {
private camera;
private mesh;
private material;
private uTime;
private lines;
private lineScene;
private orthoCamera;
private lineRenderTarget;
private blendMaterial;
private blendQuad;
constructor(camera: Camera);
setLines(lines: FlowingLight3DPassLine[]): void;
addLine(...lines: FlowingLight3DPassLine[]): string[];
removeLine(...ids: string[]): number;
setLine(params: {
id: string;
} & Partial<Omit<FlowingLight3DPassLine, 'id'>>): void;
private _updateLineAttributes;
private _rebuildMesh;
render(renderer: THREE.WebGLRenderer, writeBuffer: THREE.WebGLRenderTarget, readBuffer: THREE.WebGLRenderTarget, deltaTime: number, maskActive?: boolean): void;
dispose(): void;
}