@animech-public/playcanvas
Version:
PlayCanvas WebGL game engine
45 lines (44 loc) • 2.13 kB
TypeScript
export class LightsBuffer {
static getLightTextureFormat(device: any): 0 | 1;
static getShaderDefines(device: any): any;
constructor(device: any);
device: any;
cookiesEnabled: boolean;
shadowsEnabled: boolean;
areaLightsEnabled: boolean;
maxLights: number;
lightTextureFormat: number;
lights8: Uint8ClampedArray<ArrayBuffer>;
lightsTexture8: Texture;
_lightsTexture8Id: any;
lightsFloat: Float32Array<ArrayBuffer>;
lightsTextureFloat: Texture;
_lightsTextureFloatId: any;
_lightsTextureInvSizeId: any;
_lightsTextureInvSizeData: Float32Array<ArrayBuffer>;
invMaxColorValue: number;
invMaxAttenuation: number;
boundsMin: Vec3;
boundsDelta: Vec3;
destroy(): void;
createTexture(device: any, width: any, height: any, format: any, name: any): Texture;
setCompressionRanges(maxAttenuation: any, maxColorValue: any): void;
setBounds(min: any, delta: any): void;
uploadTextures(): void;
updateUniforms(): void;
getSpotDirection(direction: any, spot: any): void;
getLightAreaSizes(light: any): Float32Array<ArrayBuffer>;
addLightDataFlags(data8: any, index: any, light: any, isSpot: any, castShadows: any, shadowIntensity: any): void;
addLightDataColor(data8: any, index: any, light: any, gammaCorrection: any, isCookie: any): void;
addLightDataSpotAngles(data8: any, index: any, light: any): void;
addLightDataShadowBias(data8: any, index: any, light: any): void;
addLightDataPositionRange(data8: any, index: any, light: any, pos: any): void;
addLightDataSpotDirection(data8: any, index: any, light: any): void;
addLightDataLightProjMatrix(data8: any, index: any, lightProjectionMatrix: any): void;
addLightDataCookies(data8: any, index: any, light: any): void;
addLightAtlasViewport(data8: any, index: any, atlasViewport: any): void;
addLightAreaSizes(data8: any, index: any, light: any): void;
addLightData(light: any, lightIndex: any, gammaCorrection: any): void;
}
import { Texture } from '../../platform/graphics/texture.js';
import { Vec3 } from '../../core/math/vec3.js';