Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Dez 21, 2024 17:07

Foren-Übersicht » Programmierung » Shader
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa Aug 19, 2023 16:09 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
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 ?

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Aug 20, 2023 09:28 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2067
Programmiersprache: C++
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.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Aug 21, 2023 07:13 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
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 | 4694-mal betrachtet ]

_________________
OpenGL
Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Aug 21, 2023 07:39 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2067
Programmiersprache: C++
Was ist der dynamische Anteil?
Ansonsten wirkt es für mich nach klassischen Instancing.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Aug 21, 2023 18:08 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Natürlich, Instancing, auf die Idee hätte ich selbst kommen können.
Einfacher geht es ja kaum noch.

Danke

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Shader


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.012s | 17 Queries | GZIP : On ]