@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
40 lines (39 loc) • 2.29 kB
TypeScript
/**
* Creates a Volume Material, which can be used to render clouds, which can be extended with GL nodes.
*
* @remarks
* This node can create children, which will be GL nodes. The GLSL code generated by the nodes will extend the Material. This is experimental.
*
*/
import { TypedBuilderMatNode } from './_BaseBuilder';
import { ShaderAssemblerVolume } from '../gl/code/assemblers/materials/Volume';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { AssemblerName } from '../../poly/registers/assemblers/_BaseRegister';
import { ShaderMaterialWithCustomMaterials } from '../../../core/geometry/Material';
import { MatType } from '../../poly/registers/nodes/types/Mat';
declare const VolumeBuilderMatParamsConfig_base: {
new (...args: any[]): {
setBuilderNode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
builderNode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>;
};
} & {
new (...args: any[]): {
color: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.COLOR>;
stepSize: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
density: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
shadowDensity: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
lightDir: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
};
} & typeof NodeParamsConfig;
declare class VolumeBuilderMatParamsConfig extends VolumeBuilderMatParamsConfig_base {
}
export declare class VolumeBuilderMatNode extends TypedBuilderMatNode<ShaderMaterialWithCustomMaterials, ShaderAssemblerVolume, VolumeBuilderMatParamsConfig> {
paramsConfig: VolumeBuilderMatParamsConfig;
static type(): MatType;
usedAssembler(): Readonly<AssemblerName.GL_VOLUME>;
protected _createAssemblerController(): import("../gl/code/Controller").GlAssemblerController<ShaderAssemblerVolume> | undefined;
private _volumeController;
initializeNode(): void;
cook(): Promise<void>;
}
export {};