UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

47 lines (46 loc) 2.99 kB
import { Constructor } from '../../../../types/GlobalTypes'; import { NodeParamsConfig } from '../../utils/params/ParamsConfig'; import { TypedMatNode } from '../_Base'; import { Object3D, Group, Scene, Camera, BufferGeometry, Material, ShaderMaterial, WebGLRenderer } from 'three'; export declare function VolumeParamConfig<TBase extends Constructor>(Base: TBase): { new (...args: any[]): { /** @param color */ color: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.COLOR>; /** @param stepSize. The smaller the value the more step the shader will make */ stepSize: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param volume density */ density: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param volume shadow density */ shadowDensity: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param this volume material currently can only use a single white light, whose direction is defined by this parameter */ lightDir: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.VECTOR3>; }; } & TBase; declare class VolumeMaterial extends Material { } declare const VolumeParamsConfig_base: { new (...args: any[]): { /** @param color */ color: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.COLOR>; /** @param stepSize. The smaller the value the more step the shader will make */ stepSize: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param volume density */ density: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param volume shadow density */ shadowDensity: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param this volume material currently can only use a single white light, whose direction is defined by this parameter */ lightDir: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.VECTOR3>; }; } & typeof NodeParamsConfig; declare class VolumeParamsConfig extends VolumeParamsConfig_base { } declare abstract class VolumeMatNode extends TypedMatNode<VolumeMaterial, VolumeParamsConfig> { } export declare class VolumeController { private node; constructor(node: VolumeMatNode); private static _objectBbox; static renderHook(renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry, material: Material, group: Group | null, object: Object3D): void; updateUniformsFromParams(material: ShaderMaterial): void; } export {};