glowMapGeneration.fragment.fx 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifdef DIFFUSE
  2. varying vec2 vUVDiffuse;
  3. uniform sampler2D diffuseSampler;
  4. #endif
  5. #ifdef OPACITY
  6. varying vec2 vUVOpacity;
  7. uniform sampler2D opacitySampler;
  8. uniform float opacityIntensity;
  9. #endif
  10. #ifdef EMISSIVE
  11. varying vec2 vUVEmissive;
  12. uniform sampler2D emissiveSampler;
  13. #endif
  14. uniform vec4 color;
  15. void main(void)
  16. {
  17. vec4 finalColor = color;
  18. // _____________________________ Alpha Information _______________________________
  19. #ifdef DIFFUSE
  20. vec4 albedoTexture = texture2D(diffuseSampler, vUVDiffuse);
  21. finalColor.a *= albedoTexture.a;
  22. #endif
  23. #ifdef OPACITY
  24. vec4 opacityMap = texture2D(opacitySampler, vUVOpacity);
  25. #ifdef OPACITYRGB
  26. finalColor.a *= getLuminance(opacityMap.rgb);
  27. #else
  28. finalColor.a *= opacityMap.a;
  29. #endif
  30. finalColor.a *= opacityIntensity;
  31. #endif
  32. #ifdef VERTEXALPHA
  33. finalColor.a *= vColor.a;
  34. #endif
  35. #ifdef ALPHATEST
  36. if (finalColor.a < ALPHATESTVALUE)
  37. discard;
  38. #endif
  39. #ifdef EMISSIVE
  40. gl_FragColor = texture2D(emissiveSampler, vUVEmissive) * finalColor;
  41. #else
  42. gl_FragColor = finalColor;
  43. #endif
  44. #ifdef GLOW
  45. gl_FragColor.rgb *= gl_FragColor.a;
  46. gl_FragColor.a = 1.0;
  47. #endif
  48. }