shadowmap_pars_vertex.glsl.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. export default /* glsl */`
  2. #if NUM_SPOT_LIGHT_COORDS > 0
  3. uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];
  4. varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];
  5. #endif
  6. #ifdef USE_SHADOWMAP
  7. #if NUM_DIR_LIGHT_SHADOWS > 0
  8. uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];
  9. varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];
  10. struct DirectionalLightShadow {
  11. float shadowBias;
  12. float shadowNormalBias;
  13. float shadowRadius;
  14. vec2 shadowMapSize;
  15. };
  16. uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];
  17. #endif
  18. #if NUM_SPOT_LIGHT_SHADOWS > 0
  19. struct SpotLightShadow {
  20. float shadowBias;
  21. float shadowNormalBias;
  22. float shadowRadius;
  23. vec2 shadowMapSize;
  24. };
  25. uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];
  26. #endif
  27. #if NUM_POINT_LIGHT_SHADOWS > 0
  28. uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];
  29. varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];
  30. struct PointLightShadow {
  31. float shadowBias;
  32. float shadowNormalBias;
  33. float shadowRadius;
  34. vec2 shadowMapSize;
  35. float shadowCameraNear;
  36. float shadowCameraFar;
  37. };
  38. uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];
  39. #endif
  40. /*
  41. #if NUM_RECT_AREA_LIGHTS > 0
  42. // TODO (abelnation): uniforms for area light shadows
  43. #endif
  44. */
  45. #endif
  46. `;