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.

39 linhas
1.1 KiB

  1. #version 450 core
  2. #pragma include ./shared.glsl
  3. in VertexData vertexData[];
  4. layout (points) in;
  5. layout (triangle_strip, max_vertices = 4) out;
  6. layout (location = 2) uniform vec2 uOffset;
  7. out FragmentData fragmentData;
  8. void main() {
  9. VertexData d = vertexData[0];
  10. gl_Position = vec4(vec2(d.posMin.x, d.posMax.y), 0.0, 1.0);
  11. fragmentData.texCoords = vec2(d.texMin.x, d.texMax.y);
  12. fragmentData.color = d.color;
  13. EmitVertex();
  14. gl_Position = vec4(vec2(d.posMin.x, d.posMin.y), 0.0, 1.0);
  15. fragmentData.texCoords = vec2(d.texMin.x, d.texMin.y);
  16. fragmentData.color = d.color;
  17. EmitVertex();
  18. gl_Position = vec4(vec2(d.posMax.x, d.posMax.y), 0.0, 1.0);
  19. fragmentData.texCoords = vec2(d.texMax.x, d.texMax.y);
  20. fragmentData.color = d.color;
  21. EmitVertex();
  22. gl_Position = vec4(vec2(d.posMax.x, d.posMin.y), 0.0, 1.0);
  23. fragmentData.texCoords = vec2(d.texMax.x, d.texMin.y);
  24. fragmentData.color = d.color;
  25. EmitVertex();
  26. EndPrimitive();
  27. }