UNPKG

playcanvas

Version:

PlayCanvas WebGL game engine

88 lines (86 loc) 2.44 kB
var lightDeclarationPS = ` #if defined(LIGHT{i}) uniform vec3 light{i}_color; #if LIGHT{i}TYPE == DIRECTIONAL uniform vec3 light{i}_direction; #else #define LIT_CODE_LIGHTS_POINT uniform vec3 light{i}_position; uniform float light{i}_radius; #if LIGHT{i}TYPE == SPOT #define LIT_CODE_LIGHTS_SPOT uniform vec3 light{i}_direction; uniform float light{i}_innerConeAngle; uniform float light{i}_outerConeAngle; #endif #endif #if LIGHT{i}SHAPE != PUNCTUAL #define LIT_CODE_FALLOFF_SQUARED #if LIGHT{i}TYPE == DIRECTIONAL uniform vec3 light{i}_position; #endif uniform vec3 light{i}_halfWidth; uniform vec3 light{i}_halfHeight; #else #if LIGHT{i}FALLOFF == LINEAR #define LIT_CODE_FALLOFF_LINEAR #endif #if LIGHT{i}FALLOFF == INVERSESQUARED #define LIT_CODE_FALLOFF_SQUARED #endif #endif #if defined(LIGHT{i}CASTSHADOW) uniform mat4 light{i}_shadowMatrix; uniform float light{i}_shadowIntensity; uniform vec4 light{i}_shadowParams; #if LIGHT{i}SHADOWTYPE == PCSS_32F uniform float light{i}_shadowSearchArea; uniform vec4 light{i}_cameraParams; #if LIGHT{i}TYPE == DIRECTIONAL uniform vec4 light{i}_softShadowParams; #endif #endif #if LIGHT{i}TYPE == DIRECTIONAL uniform mat4 light{i}_shadowMatrixPalette[4]; uniform vec4 light{i}_shadowCascadeDistances; uniform int light{i}_shadowCascadeCount; uniform float light{i}_shadowCascadeBlend; #endif #if LIGHT{i}TYPE == OMNI #if defined(LIGHT{i}SHADOW_PCF) uniform samplerCubeShadow light{i}_shadowMap; #else uniform samplerCube light{i}_shadowMap; #endif #else #if defined(LIGHT{i}SHADOW_PCF) uniform sampler2DShadow light{i}_shadowMap; #else uniform sampler2D light{i}_shadowMap; #endif #endif #endif #if defined(LIGHT{i}COOKIE) #define LIT_CODE_COOKIE #if LIGHT{i}TYPE == OMNI uniform samplerCube light{i}_cookie; uniform float light{i}_cookieIntensity; #if !defined(LIGHT{i}CASTSHADOW) uniform mat4 light{i}_shadowMatrix; #endif #endif #if LIGHT{i}TYPE == SPOT uniform sampler2D light{i}_cookie; uniform float light{i}_cookieIntensity; #if !defined(LIGHT{i}CASTSHADOW) uniform mat4 light{i}_shadowMatrix; #endif #if defined(LIGHT{i}COOKIE_TRANSFORM) uniform vec4 light{i}_cookieMatrix; uniform vec2 light{i}_cookieOffset; #endif #endif #endif #endif `; export { lightDeclarationPS as default };