DGL
https://delphigl.com/forum/

Shader zusammensetzen
https://delphigl.com/forum/viewtopic.php?f=20&t=11749
Seite 1 von 1

Autor:  mathias [ So Okt 01, 2023 14:51 ]
Betreff des Beitrags:  Shader zusammensetzen

Ich habe folgendes compiliert und das Shader erstellen geht ohne Probleme, es kommt nicht mal eine Warnung.
Obwohl ich 2 Vertex-Shader angegeben habe.
vertexshader.glsl
Code:
  1. #version 450 core
  2. layout (location = 0) in vec4 vPosition;
  3. void main() {
  4. //  mainXXX();
  5.   gl_Position = vPosition;}  


test.glsl
Code:
  1. #version 450 core
  2. layout (location = 0) in vec4 vPosition;
  3. void mainXXX() {
  4.   gl_Position = vPosition; }    


Lazarus:
Code:
  1.     MyShader := TShader.Create([
  2.       GL_VERTEX_SHADER, FileToStr('Vertexshader.glsl'),
  3.       GL_VERTEX_SHADER, FileToStr('test.glsl'),
  4.       GL_FRAGMENT_SHADER, FileToStr('Fragmentshader.glsl')]);

Dies funktioniert aber nur solange, wen im 2. Shader nicht main() steht.


Da bin ich auf folgende Idee gekommen:
Code:
  1. #version 450 core
  2. void main() {
  3.   mainXXX(); }  

Code:
  1. #version 450 core
  2. layout (location = 0) in vec4 vPosition;
  3. void mainXXX() {
  4.   gl_Position = vPosition;}

Das wird aber mit dem Fehler quittiert, das er meinXXX() nicht findet.

Nun zur Frage, ist sowas überhaupt möglich ?
Wen nein, wieso wird dann überhaupt die Source mit mainXXX() compiliert ?

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