declare const _default: "\n#if defined(LIGHT{i})\n\n    uniform light{i}_color: vec3f;\n\n    #if LIGHT{i}TYPE == DIRECTIONAL\n        uniform light{i}_direction: vec3f;\n    #else\n\n        #define LIT_CODE_LIGHTS_POINT // include functionality for point lights\n\n        uniform light{i}_position: vec3f;\n        uniform light{i}_radius: f32;\n\n        #if LIGHT{i}TYPE == SPOT\n\n            #define LIT_CODE_LIGHTS_SPOT // include functionality for spot lights\n\n            uniform light{i}_direction: vec3f;\n            uniform light{i}_innerConeAngle: f32;\n            uniform light{i}_outerConeAngle: f32;\n        #endif\n    #endif\n\n    // area lights\n    #if LIGHT{i}SHAPE != PUNCTUAL\n\n        #define LIT_CODE_FALLOFF_SQUARED // include functionality for inverse squared falloff\n\n        #if LIGHT{i}TYPE == DIRECTIONAL\n            uniform light{i}_position: vec3f;\n        #endif\n        uniform light{i}_halfWidth: vec3f;\n        uniform light{i}_halfHeight: vec3f;\n    #else\n\n        #if LIGHT{i}FALLOFF == LINEAR\n            #define LIT_CODE_FALLOFF_LINEAR // include functionality for linear falloff\n        #endif\n\n        #if LIGHT{i}FALLOFF == INVERSESQUARED\n            #define LIT_CODE_FALLOFF_SQUARED // include functionality for inverse squared falloff\n        #endif\n\n    #endif\n\n    // shadow casting\n    #if defined(LIGHT{i}CASTSHADOW)\n\n        uniform light{i}_shadowMatrix: mat4x4f;\n        uniform light{i}_shadowIntensity: f32;\n        uniform light{i}_shadowParams: vec4f; // width, height, bias, radius\n\n        #if LIGHT{i}SHADOWTYPE == PCSS_32F\n            uniform light{i}_shadowSearchArea: f32;\n            uniform light{i}_cameraParams: vec4f;\n            #if LIGHT{i}TYPE == DIRECTIONAL\n                uniform light{i}_softShadowParams: vec4f;\n            #endif\n        #endif\n\n        // directional (cascaded) shadows\n        #if LIGHT{i}TYPE == DIRECTIONAL\n            uniform light{i}_shadowMatrixPalette: array<mat4x4f, 4>;\n            uniform light{i}_shadowCascadeDistances: vec4f;\n            uniform light{i}_shadowCascadeCount: i32;\n            uniform light{i}_shadowCascadeBlend: f32;\n        #endif\n\n        #if LIGHT{i}TYPE == OMNI\n            NOT SUPPORTED\n/*            #if defined(LIGHT{i}SHADOW_PCF)\n                uniform samplerCubeShadow light{i}_shadowMap;\n            #else\n                uniform samplerCube light{i}_shadowMap;\n            #endif\n*/            \n        #else\n            #if defined(LIGHT{i}SHADOW_PCF)\n                var light{i}_shadowMap: texture_depth_2d;\n                var light{i}_shadowMapSampler: sampler_comparison;\n            #else\n                var light{i}_shadowMap: texture_2d<f32>;\n                var light{i}_shadowMapSampler: sampler;\n            #endif\n        #endif\n\n    #endif\n\n    // cookie\n    #if defined(LIGHT{i}COOKIE)\n\n        #define LIT_CODE_COOKIE // include functionality for cookies\n\n        #if LIGHT{i}TYPE == OMNI\n            NOT SUPPORTED\n/*        \n            uniform samplerCube light{i}_cookie;\n            uniform float light{i}_cookieIntensity;\n            #if !defined(LIGHT{i}CASTSHADOW)\n                uniform mat4 light{i}_shadowMatrix;\n            #endif\n*/\n        #endif\n\n        #if LIGHT{i}TYPE == SPOT\n            NOT SUPPORTED\n/*            uniform sampler2D light{i}_cookie;\n            uniform float light{i}_cookieIntensity;\n            #if !defined(LIGHT{i}CASTSHADOW)\n                uniform mat4 light{i}_shadowMatrix;\n            #endif\n            #if defined(LIGHT{i}COOKIE_TRANSFORM)\n                uniform vec4 light{i}_cookieMatrix;\n                uniform vec2 light{i}_cookieOffset;\n            #endif\n*/\n        #endif\n    #endif\n#endif\n";
export default _default;
