lightFragmentDeclaration.fx 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #ifdef LIGHT{X}
  2. uniform vec4 vLightData{X};
  3. uniform vec4 vLightDiffuse{X};
  4. #ifdef SPECULARTERM
  5. uniform vec4 vLightSpecular{X};
  6. #else
  7. vec4 vLightSpecular{X} = vec4(0.);
  8. #endif
  9. #ifdef SHADOW{X}
  10. #ifdef SHADOWCSM{X}
  11. uniform mat4 lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];
  12. uniform float viewFrustumZ{X}[SHADOWCSMNUM_CASCADES{X}];
  13. uniform float frustumLengths{X}[SHADOWCSMNUM_CASCADES{X}];
  14. uniform float cascadeBlendFactor{X};
  15. varying vec4 vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];
  16. varying float vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];
  17. varying vec4 vPositionFromCamera{X};
  18. #if defined(SHADOWPCSS{X})
  19. uniform highp sampler2DArrayShadow shadowSampler{X};
  20. uniform highp sampler2DArray depthSampler{X};
  21. uniform vec2 lightSizeUVCorrection{X}[SHADOWCSMNUM_CASCADES{X}];
  22. uniform float depthCorrection{X}[SHADOWCSMNUM_CASCADES{X}];
  23. uniform float penumbraDarkness{X};
  24. #elif defined(SHADOWPCF{X})
  25. uniform highp sampler2DArrayShadow shadowSampler{X};
  26. #else
  27. uniform highp sampler2DArray shadowSampler{X};
  28. #endif
  29. #ifdef SHADOWCSMDEBUG{X}
  30. const vec3 vCascadeColorsMultiplier{X}[8] = vec3[8]
  31. (
  32. vec3 ( 1.5, 0.0, 0.0 ),
  33. vec3 ( 0.0, 1.5, 0.0 ),
  34. vec3 ( 0.0, 0.0, 5.5 ),
  35. vec3 ( 1.5, 0.0, 5.5 ),
  36. vec3 ( 1.5, 1.5, 0.0 ),
  37. vec3 ( 1.0, 1.0, 1.0 ),
  38. vec3 ( 0.0, 1.0, 5.5 ),
  39. vec3 ( 0.5, 3.5, 0.75 )
  40. );
  41. vec3 shadowDebug{X};
  42. #endif
  43. #ifdef SHADOWCSMUSESHADOWMAXZ{X}
  44. int index{X} = -1;
  45. #else
  46. int index{X} = SHADOWCSMNUM_CASCADES{X} - 1;
  47. #endif
  48. float diff{X} = 0.;
  49. #elif defined(SHADOWCUBE{X})
  50. uniform samplerCube shadowSampler{X};
  51. #else
  52. varying vec4 vPositionFromLight{X};
  53. varying float vDepthMetric{X};
  54. #if defined(SHADOWPCSS{X})
  55. uniform highp sampler2DShadow shadowSampler{X};
  56. uniform highp sampler2D depthSampler{X};
  57. #elif defined(SHADOWPCF{X})
  58. uniform highp sampler2DShadow shadowSampler{X};
  59. #else
  60. uniform sampler2D shadowSampler{X};
  61. #endif
  62. uniform mat4 lightMatrix{X};
  63. #endif
  64. uniform vec4 shadowsInfo{X};
  65. uniform vec2 depthValues{X};
  66. #endif
  67. #ifdef SPOTLIGHT{X}
  68. uniform vec4 vLightDirection{X};
  69. uniform vec4 vLightFalloff{X};
  70. #elif defined(POINTLIGHT{X})
  71. uniform vec4 vLightFalloff{X};
  72. #elif defined(HEMILIGHT{X})
  73. uniform vec3 vLightGround{X};
  74. #endif
  75. #ifdef PROJECTEDLIGHTTEXTURE{X}
  76. uniform mat4 textureProjectionMatrix{X};
  77. uniform sampler2D projectionLightSampler{X};
  78. #endif
  79. #endif