@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
31 lines (30 loc) • 890 B
TypeScript
import { Mesh, ShaderMaterial, Color, ConeGeometry } from 'three';
import type { SpotLightContainer } from '../SpotLight';
interface SpotLightVolumetricMaterial extends ShaderMaterial {
uniforms: {
attenuation: {
value: number;
};
anglePower: {
value: number;
};
lightColor: {
value: Color;
};
};
}
export interface VolumetricSpotLightParams {
tvolumetric: boolean;
volAttenuation: number;
volAnglePower: number;
}
export declare class VolumetricSpotLight {
readonly container: SpotLightContainer;
private _mesh;
constructor(container: SpotLightContainer);
update(params: VolumetricSpotLightParams): void;
object(): Mesh<ConeGeometry, SpotLightVolumetricMaterial, import("three").Object3DEventMap>;
private _createMesh;
private _createMaterial;
}
export {};