shadowOnly.fragment.fx.ts 972 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { Effect } from "babylonjs";
  2. let name = 'shadowOnlyPixelShader';
  3. let shader = `precision highp float;
  4. uniform vec3 vEyePosition;
  5. uniform float alpha;
  6. uniform vec3 shadowColor;
  7. varying vec3 vPositionW;
  8. #ifdef NORMAL
  9. varying vec3 vNormalW;
  10. #endif
  11. #include<helperFunctions>
  12. #include<__decl__lightFragment>[0..maxSimultaneousLights]
  13. #include<lightsFragmentFunctions>
  14. #include<shadowsFragmentFunctions>
  15. #include<clipPlaneFragmentDeclaration>
  16. #include<fogFragmentDeclaration>
  17. void main(void) {
  18. #include<clipPlaneFragment>
  19. vec3 viewDirectionW=normalize(vEyePosition-vPositionW);
  20. #ifdef NORMAL
  21. vec3 normalW=normalize(vNormalW);
  22. #else
  23. vec3 normalW=vec3(1.0,1.0,1.0);
  24. #endif
  25. vec3 diffuseBase=vec3(0.,0.,0.);
  26. lightingInfo info;
  27. float shadow=1.;
  28. float glossiness=0.;
  29. #include<lightFragment>[0..1]
  30. vec4 color=vec4(shadowColor,(1.0-clamp(shadow,0.,1.))*alpha);
  31. #include<fogFragment>
  32. gl_FragColor=color;
  33. }`;
  34. Effect.ShadersStore[name] = shader;
  35. export { shader, name };