@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
47 lines (46 loc) • 2.99 kB
TypeScript
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 {};