@realsee/five
Version:
Realsee Renderer SDK
41 lines (40 loc) • 1.33 kB
TypeScript
import * as THREE from 'three';
import { FivePass } from './pass';
import { type Camera } from '../../../core/camera';
export type FlowingLight2DPassLine = {
id?: string;
points: THREE.Vector2[];
totalLength: number;
color: THREE.Color;
opacity?: number;
duration?: number;
lineWidth?: number;
tailLengthRatio?: number;
startTime?: number;
};
export declare class FlowingLight2DPass 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);
/** 将 2D 归一化坐标点转为内部 vec3(z = MARKER_Z) */
private toInternal;
private toInternalLine;
setLines(lines: FlowingLight2DPassLine[]): void;
addLine(...lines: FlowingLight2DPassLine[]): string[];
removeLine(...ids: string[]): number;
setLine(params: {
id: string;
} & Partial<Omit<FlowingLight2DPassLine, 'id'>>): void;
private _updateLineAttributes;
private _rebuildMesh;
render(renderer: THREE.WebGLRenderer, writeBuffer: THREE.WebGLRenderTarget, readBuffer: THREE.WebGLRenderTarget, deltaTime: number, maskActive?: boolean): void;
dispose(): void;
}