UNPKG

@polygonjs/polygonjs

Version:

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

42 lines (41 loc) 1.71 kB
import { PolyScene } from '../PolyScene'; import { Vector2 } from 'three'; import { IUniformN, IUniformTexture, IUniformV2 } from '../../nodes/utils/code/gl/Uniforms'; import { GlParamConfig } from '../../nodes/gl/code/utils/GLParamConfig'; import { ParamType } from '../../poly/ParamType'; import { PolyDictionary } from '../../../types/GlobalTypes'; import { IUniforms } from '../../../core/geometry/Material'; export declare enum UniformName { TIME = "time", RESOLUTION = "resolution", SPOTLIGHTS_RAYMARCHING = "spotLightsRayMarching", DIRECTIONALLIGHTS_RAYMARCHING = "directionalLightsRayMarching", POINTLIGHTS_RAYMARCHING = "pointLightsRayMarching" } export interface IUniformsWithTime extends IUniforms { time: IUniformN; } export interface IUniformsWithResolution extends IUniforms { resolution: IUniformV2; } interface AddUniformOptions { paramConfigs: readonly GlParamConfig<ParamType>[]; additionalTextureUniforms: PolyDictionary<IUniformTexture>; timeDependent: boolean; resolutionDependent: boolean; raymarchingLightsWorldCoordsDependent: boolean; } export declare class UniformsController { private scene; constructor(scene: PolyScene); addUniforms(uniforms: IUniforms, options: AddUniformOptions): void; addTimeUniform(uniforms: IUniforms): void; removeTimeUniform(uniforms: IUniforms): void; timeUniformValue(): number; addResolutionUniforms(uniforms: IUniforms): void; removeResolutionUniform(uniforms: IUniforms): void; updateResolution(resolution: Vector2, pixelRatio: number): void; addRaymarchingUniforms(uniforms: IUniforms): void; removeRaymarchingUniform(uniforms: IUniforms): void; } export {};