@speckle/viewer
Version:
A 3d viewer for Speckle, based on threejs.
44 lines (43 loc) • 1.96 kB
TypeScript
import { Matrix4, OrthographicCamera, PerspectiveCamera, Plane, Vector2, WebGLMultipleRenderTargets, WebGLRenderTarget, WebGLRenderTargetOptions } from 'three';
import { GPass } from '../Passes/GPass.js';
import SpeckleRenderer from '../../SpeckleRenderer.js';
export interface BasePipelineOptions {
}
export interface PipelineOptions extends BasePipelineOptions {
edges?: boolean;
}
export declare const DefaultPipelineOptions: {
edges: boolean;
};
export declare abstract class Pipeline {
protected speckleRenderer: SpeckleRenderer;
protected _options: BasePipelineOptions;
protected passList: Array<GPass>;
protected drawingSize: Vector2;
protected frameProjection: Matrix4;
protected jitterIndex: number;
protected jitterOffsets: number[][];
get options(): BasePipelineOptions;
set options(value: BasePipelineOptions);
constructor(renderer: SpeckleRenderer, options?: BasePipelineOptions);
get passes(): Array<GPass>;
onBeforePipelineRender(): void;
onAfterPipelineRender(): void;
getPass(name: string): GPass[];
setClippingPlanes(planes: Plane[]): void;
update(camera: PerspectiveCamera | OrthographicCamera): void;
reset(): void;
render(): boolean;
resize(width: number, height: number): void;
/**
* Generate a number in the Halton Sequence at a given index. This is
* shamelessly stolen from the pseudocode on the Wikipedia page
*
* @param base the base to use for the Halton Sequence
* @param index the index into the sequence
*/
protected haltonNumber(base: number, index: number): number;
protected generateHaltonJiters(length: number): number[][];
static createRenderTarget(options?: WebGLRenderTargetOptions, width?: number, height?: number): WebGLRenderTarget;
static createMultipleRenderTarget(count: number, options?: WebGLRenderTargetOptions, width?: number, height?: number): WebGLMultipleRenderTargets;
}