Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

46 linhas
1.1 KiB

  1. # version 100
  2. precision mediump float;
  3. // Input vertex attributes (from vertex shader)
  4. varying vec2 fragTexCoord;
  5. varying vec4 fragColor;
  6. // Input uniform values
  7. uniform sampler2D texture0;
  8. uniform vec4 colDiffuse;
  9. // NOTE: Add here your custom variables
  10. float hatchOffsetY = 5.0f;
  11. float lumThreshold01 = 0.9f;
  12. float lumThreshold02 = 0.7f;
  13. float lumThreshold03 = 0.5f;
  14. float lumThreshold04 = 0.3f;
  15. void main()
  16. {
  17. vec3 tc = vec3(1.0, 1.0, 1.0);
  18. float lum = length(texture2D(texture0, fragTexCoord).rgb);
  19. if (lum < lumThreshold01)
  20. {
  21. if (mod(gl_FragCoord.x + gl_FragCoord.y, 10.0) == 0.0) tc = vec3(0.0, 0.0, 0.0);
  22. }
  23. if (lum < lumThreshold02)
  24. {
  25. if (mod(gl_FragCoord .x - gl_FragCoord .y, 10.0) == 0.0) tc = vec3(0.0, 0.0, 0.0);
  26. }
  27. if (lum < lumThreshold03)
  28. {
  29. if (mod(gl_FragCoord .x + gl_FragCoord .y - hatchOffsetY, 10.0) == 0.0) tc = vec3(0.0, 0.0, 0.0);
  30. }
  31. if (lum < lumThreshold04)
  32. {
  33. if (mod(gl_FragCoord .x - gl_FragCoord .y - hatchOffsetY, 10.0) == 0.0) tc = vec3(0.0, 0.0, 0.0);
  34. }
  35. gl_FragColor = vec4(tc, 1.0);
  36. }