DGL
https://delphigl.com/forum/

Geometrie Shader "max_vertices" begrenzt ?
https://delphigl.com/forum/viewtopic.php?f=20&t=11739
Seite 1 von 1

Autor:  mathias [ Sa Aug 19, 2023 16:09 ]
Betreff des Beitrags:  Geometrie Shader "max_vertices" begrenzt ?

Ich wollte eine Animation mit einer Art Maschendrahtzaun machen, daher wollte ich die Vertexs im Geometrie-Shader mit einer forto-Schleife kopieren.
Nur musste ich leider feststellen, das ich da innert kurzer Zeit schon am Anschlag bin.
Es lässt mit nur 256 Vertex am Ausgang zu.
Code:
  1. #version 330
  2. #define count 5
  3.  
  4. layout(triangles) in;
  5. layout(triangle_strip, max_vertices = 256) out; // Nur 256
  6.  
  7. void main(void) {
  8.   for (int x = -count; x < count; x++) {
  9.     for (int y = -count; y < count; y++) {
  10.  
  11.       for(int i = 0; i < gl_in.length(); i++) {
  12.         gl_Position = gl_in[i].gl_Position + vec4(30.0 * x, 30.0 * y, 0.0, 0.0);
  13.         EmitVertex();
  14.       }
  15.      EndPrimitive();
  16.      }
  17.   }
  18. } 

Folgender Fehler wird mir geworfen:
Code:
  1. 0:7(24): error: maximum output vertices (1256) exceeds GL_MAX_GEOMETRY_OUTPUT_VERTICES


Ich habe mal gegoogelt und bin auf folgendes gestossen https://www.khronos.org/opengl/wiki/Geometry_Shader

So wie es scheint, kann man dies nicht umgehen.
Oder gibt es doch eine Möglichkeit ?

Autor:  i0n0s [ So Aug 20, 2023 09:28 ]
Betreff des Beitrags:  Re: Geometrie Shader "max_vertices" begrenzt ?

Kenne keine Möglichkeit es zu Umgehen.
Bei der Beschreibung "Maschendrahtzaun" ist die Frage ob eine transparente Textur nicht einfacher ist.
Ansonsten braucht dein Shader entsprechend oft/viele Inputs um die gewünschten Outputs zu erzeugen.

Autor:  mathias [ Mo Aug 21, 2023 07:13 ]
Betreff des Beitrags:  Re: Geometrie Shader "max_vertices" begrenzt ?

Zitat:
Kenne keine Möglichkeit es zu Umgehen.

Dies habe ich fast vermutet. Eigentlich erstaunlich bei den heutigen leistungsstarken GPUs.

Zitat:
Bei der Beschreibung "Maschendrahtzaun" ist die Frage ob eine transparente Textur nicht einfacher ist.

Es sollte so werden, wie im Anhang. Dort ist es mit einer xy forto-Schleife GPU-Seitig gelöst. Dies wollte ich in den Geometrie-Shader auslagern. Das Ziel wäre das Muster noch ein wenig komplexer zu machen, als nur mit geraden Linien.

Dateianhänge:
opengl.png
opengl.png [ 104.78 KiB | 2465-mal betrachtet ]

Autor:  i0n0s [ Mo Aug 21, 2023 07:39 ]
Betreff des Beitrags:  Re: Geometrie Shader "max_vertices" begrenzt ?

Was ist der dynamische Anteil?
Ansonsten wirkt es für mich nach klassischen Instancing.

Autor:  mathias [ Mo Aug 21, 2023 18:08 ]
Betreff des Beitrags:  Re: Geometrie Shader "max_vertices" begrenzt ?

Natürlich, Instancing, auf die Idee hätte ich selbst kommen können.
Einfacher geht es ja kaum noch.

Danke

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