@speckle/viewer
Version:
A 3d viewer for Speckle, based on threejs.
28 lines (27 loc) • 1.4 kB
TypeScript
import { Material, type IUniform, Vector2, type MeshBasicMaterialParameters, Scene, Camera, BufferGeometry, Object3D } from 'three';
import { ExtendedMeshBasicMaterial, type Uniforms } from './SpeckleMaterial.js';
import type { SpeckleWebGLRenderer } from '../objects/SpeckleWebGLRenderer.js';
export type BillboardingType = 'world' | 'screen';
declare class SpeckleBasicMaterial extends ExtendedMeshBasicMaterial {
protected _billboardPixelSize: Vector2;
protected _billboardPixelOffset: Vector2;
protected get vertexProgram(): string;
protected get fragmentProgram(): string;
protected get baseUniforms(): {
[uniform: string]: IUniform;
};
protected get uniformsDef(): Uniforms;
get billboardPixelSize(): Vector2;
set billboardPixelSize(value: Vector2);
get billboardPixeOffset(): Vector2;
set billboardPixelOffset(value: Vector2);
constructor(parameters: MeshBasicMaterialParameters, defines?: string[]);
/** We need a unique key per program */
customProgramCacheKey(): string;
copy(source: Material): this;
fastCopy(from: Material, to: Material): void;
setBillboarding(type: BillboardingType | null): void;
/** Called by three.js render loop */
onBeforeRender(_this: SpeckleWebGLRenderer, _scene: Scene, camera: Camera, _geometry: BufferGeometry, object: Object3D): void;
}
export default SpeckleBasicMaterial;