OneSidedLine.frag 541 B

123456789101112131415161718192021222324252627
  1. uniform vec4 entityColor;
  2. varying vec2 texCoordVar;
  3. varying vec3 varNormal;
  4. varying vec4 varPosition;
  5. uniform mat4 viewMatrix;
  6. mat3 mat3_emu(mat4 m4) {
  7. return mat3(
  8. m4[0][0], m4[0][1], m4[0][2],
  9. m4[1][0], m4[1][1], m4[1][2],
  10. m4[2][0], m4[2][1], m4[2][2]);
  11. }
  12. void main()
  13. {
  14. mat3 rotN = mat3_emu(viewMatrix);
  15. vec3 viewNormal = normalize(rotN * varNormal);
  16. if(dot((viewMatrix * varPosition).xyz * -1.0, viewNormal) < 0.0) {
  17. gl_FragColor = vec4(0.0 ,0.0, 0.0, 0.2);
  18. } else {
  19. gl_FragColor = entityColor;
  20. }
  21. }