import { Color } from "../../math/Color.js"; import { Matrix3 } from "../../math/Matrix3.js"; import { Vector2 } from "../../math/Vector2.js"; // eslint-disable-next-line @typescript-eslint/naming-convention export interface IUniform { value: TValue; } export const UniformsLib: { common: { diffuse: IUniform; opacity: IUniform; map: IUniform; mapTransform: IUniform; alphaMap: IUniform; alphaMapTransform: IUniform; alphaTest: IUniform; }; specularmap: { specularMap: IUniform; specularMapTransform: IUniform; }; envmap: { envMap: IUniform; envMapRotation: IUniform; flipEnvMap: IUniform; reflectivity: IUniform; ior: IUniform; refractRatio: IUniform; }; aomap: { aoMap: IUniform; aoMapIntensity: IUniform; aoMapTransform: IUniform; }; lightmap: { lightMap: IUniform; lightMapIntensity: IUniform; lightMapTransform: IUniform; }; bumpmap: { bumpMap: IUniform; bumpMapTransform: IUniform; bumpScale: IUniform; }; normalmap: { normalMap: IUniform; normalMapTransform: IUniform; normalScale: IUniform; }; displacementmap: { displacementMap: IUniform; displacementMapTransform: IUniform; displacementScale: IUniform; displacementBias: IUniform; }; emissivemap: { emissiveMap: IUniform; emissiveMapTransform: IUniform; }; metalnessmap: { metalnessMap: IUniform; metalnessMapTransform: IUniform; }; roughnessmap: { roughnessMap: IUniform; roughnessMapTransform: IUniform; }; gradientmap: { gradientMap: IUniform; }; fog: { fogDensity: IUniform; fogNear: IUniform; fogFar: IUniform; fogColor: IUniform; }; lights: { ambientLightColor: IUniform; lightProbe: IUniform; directionalLights: { value: unknown[]; properties: { direction: {}; color: {}; }; }; directionalLightShadows: { value: unknown[]; properties: { shadowIntensity: number; shadowBias: {}; shadowNormalBias: {}; shadowRadius: {}; shadowMapSize: {}; }; }; directionalShadowMap: IUniform; directionalShadowMatrix: IUniform; spotLights: { value: unknown[]; properties: { color: {}; position: {}; direction: {}; distance: {}; coneCos: {}; penumbraCos: {}; decay: {}; }; }; spotLightShadows: { value: unknown[]; properties: { shadowIntensity: number; shadowBias: {}; shadowNormalBias: {}; shadowRadius: {}; shadowMapSize: {}; }; }; spotLightMap: IUniform; spotShadowMap: IUniform; spotLightMatrix: IUniform; pointLights: { value: unknown[]; properties: { color: {}; position: {}; decay: {}; distance: {}; }; }; pointLightShadows: { value: unknown[]; properties: { shadowIntensity: number; shadowBias: {}; shadowNormalBias: {}; shadowRadius: {}; shadowMapSize: {}; shadowCameraNear: {}; shadowCameraFar: {}; }; }; pointShadowMap: IUniform; pointShadowMatrix: IUniform; hemisphereLights: { value: unknown[]; properties: { direction: {}; skycolor: {}; groundColor: {}; }; }; rectAreaLights: { value: unknown[]; properties: { color: {}; position: {}; width: {}; height: {}; }; }; ltc_1: IUniform; ltc_2: IUniform; }; points: { diffuse: IUniform; opacity: IUniform; size: IUniform; scale: IUniform; map: IUniform; alphaMap: IUniform; alphaTest: IUniform; uvTransform: IUniform; }; sprite: { diffuse: IUniform; opacity: IUniform; center: IUniform; rotation: IUniform; map: IUniform; mapTransform: IUniform; alphaMap: IUniform; alphaTest: IUniform; }; };