DGL
https://delphigl.com/forum/

Geometrie Shader - lines_adjacency
https://delphigl.com/forum/viewtopic.php?f=20&t=11628
Seite 1 von 1

Autor:  mathias [ Do Jan 25, 2018 23:02 ]
Betreff des Beitrags:  Geometrie Shader - lines_adjacency

Wen ich anstelle von lines_adjacency lines nehme, habe ich eine Ausgabe, wie im Anhang.
Mit lines_adjacency bleibt das Bild leer. Wieso, wird mir nicht mal die Linie gezeichnet, welche von der Mitte nach rechts-oben geht ?
Vertex:
Code:
  1. #version 330
  2.  
  3. layout (location = 0) in vec2 inPos;
  4. uniform mat4 mat;
  5.  
  6. void main(void) {
  7.   gl_Position = mat * vec4(inPos, 0.0, 1.0);
  8. }

Geometrie:
Code:
  1. #version 330
  2.  
  3. //layout(lines) in;           // geht
  4. layout(lines_adjacency ) in;  // geht nicht
  5. layout(line_strip, max_vertices = 4) out;
  6.  
  7. void main(void) {
  8.   gl_Position = gl_in[0].gl_Position;
  9.   EmitVertex();
  10.  
  11.   gl_Position = gl_in[1].gl_Position;
  12.   EmitVertex();
  13.   EndPrimitive();
  14.  
  15.   gl_Position = vec4(0.0, 0.0, 0.0, 1.0);
  16.   EmitVertex();
  17.  
  18.   gl_Position = vec4(0.5, 0.5, 0.0, 1.0);
  19.   EmitVertex();
  20.   EndPrimitive();
  21. }

Fragment:
Code:
  1. #version 330
  2.  
  3. out vec4 FragColor;
  4.  
  5. void main() {
  6.   FragColor = vec4(Color, 1.0);
  7. }


Im Anhang noch die komplette Source.
Aber ich denke, wen dort etwas falsch wäre, dann würde wenigsten ein undefiniertes Gebilde kommen.

Dateianhänge:
05_-_GL_TRIANGLE_STRIP_ADJACENCY.tar.gz [155.13 KiB]
403-mal heruntergeladen
Bildschirmfoto vom 2018-01-25 22-59-39.png
Bildschirmfoto vom 2018-01-25 22-59-39.png [ 3.68 KiB | 7235-mal betrachtet ]

Autor:  glAwesome [ Fr Jan 26, 2018 09:29 ]
Betreff des Beitrags:  Re: Geometrie Shader - lines_adjacency

Ich habe mir deinen Code nicht heruntergeladen. Mit welchem mode-Parameter renderst du? GL_LINES? GL_LINES_ADJACENCY?

Autor:  mathias [ Fr Jan 26, 2018 17:45 ]
Betreff des Beitrags:  Re: Geometrie Shader - lines_adjacency

Zitat:
Mit welchem mode-Parameter renderst du? GL_LINES? GL_LINES_ADJACENCY?

Das war der Fehler, so geht es.
Code:
  1.  glDrawArrays(GL_LINE_STRIP_ADJACENCY, 0, Length(Linies) div 2);


Manchmal sucht man viel zu weit. :wink:

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/