Clone of mesa.
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.

CH06-brick.frag.txt 780B

123456789101112131415161718192021222324252627282930313233343536
  1. //
  2. // Fragment shader for procedural bricks
  3. //
  4. // Authors: Dave Baldwin, Steve Koren, Randi Rost
  5. // based on a shader by Darwyn Peachey
  6. //
  7. // Copyright (c) 2002-2006 3Dlabs Inc. Ltd.
  8. //
  9. // See 3Dlabs-License.txt for license information
  10. //
  11. uniform vec3 BrickColor, MortarColor;
  12. uniform vec2 BrickSize;
  13. uniform vec2 BrickPct;
  14. varying vec2 MCposition;
  15. varying float LightIntensity;
  16. void main()
  17. {
  18. vec3 color;
  19. vec2 position, useBrick;
  20. position = MCposition / BrickSize;
  21. if (fract(position.y * 0.5) > 0.5)
  22. position.x += 0.5;
  23. position = fract(position);
  24. useBrick = step(position, BrickPct);
  25. color = mix(MortarColor, BrickColor, useBrick.x * useBrick.y);
  26. color *= LightIntensity;
  27. gl_FragColor = vec4(color, 1.0);
  28. }