2
0

DpGeneric.glsl 882 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /// Control defines:
  2. /// ALPHA_TESTING, HARDWARE_SKINNING
  3. #pragma anki vertShaderBegins
  4. #pragma anki include "shaders/hw_skinning.glsl"
  5. uniform mat4 modelViewProjectionMat;
  6. in vec3 position;
  7. #if defined(ALPHA_TESTING)
  8. in vec2 texCoords;
  9. out vec2 vTexCoords;
  10. #endif
  11. void main()
  12. {
  13. #if defined(ALPHA_TESTING)
  14. vTexCoords = texCoords;
  15. #endif
  16. #if defined(HARDWARE_SKINNING)
  17. mat3 _rot_;
  18. vec3 _tsl_;
  19. HWSkinning(_rot_, _tsl_);
  20. vec3 _posLocalSpace_ = (_rot_ * position) + _tsl_;
  21. gl_Position = modelViewProjectionMat * vec4(_posLocalSpace_, 1.0);
  22. #else
  23. gl_Position = modelViewProjectionMat * vec4(position, 1.0);
  24. #endif
  25. }
  26. #pragma anki fragShaderBegins
  27. #if defined(ALPHA_TESTING)
  28. uniform sampler2D diffuseMap;
  29. in vec2 vTexCoords;
  30. #endif
  31. void main()
  32. {
  33. #if defined(ALPHA_TESTING)
  34. if(texture2D(diffuseMap, vTexCoords).a == 0.0)
  35. {
  36. discard;
  37. }
  38. #endif
  39. }