OpenGL Shader Variablennamen
-
Hi,
man muss die Variablen aus Shadern ja irgendwie namentlich abfragen. Das ist leider doof, aber wohl unvermeidbar. Wie regelt ihr das? Wo speichert ihr die Variablennamen? Würde mich mal interessieren, ob da jemand den heiligen Gral entdeckt hat.
-
Was genau meinst du?
Kann das grade nicht nachvollziehen.
Prinzipell:glGetAttribLocation
glGetUniformLocationglUniformMatrix(X)(f)(v)
glUniform(X)(f)(v)sind nur mal einige Stichwörter.
-
Hm.. war die Frage so schlecht formuliert? Es geht mir nicht darum wie das geht (die Doku kann ich auch lesen^^) - sondern wo ihr die Variablennamen abspeichert. Denn man muss die irgendwie immer an zwei Stellen ändern, im Shader und im Code. Und mich hat einfach mal interessiert wie ihr das macht, denn irgendwie fällt mir dazu keine schöne Lösung ein..
AlsoglGetAttribLocation(shader, /* woher kommt der Name? Einfach hart gecodet? */); glGetUniformLocation(..);
-
Ich würd mal sagen: In der Klasse, die den Shader verwendet
-
Achso, ja den Namen musst du halt vorgeben.
Das ist der name der variablen, die du im Shader verwendest.
-
Scorcher24 schrieb:
Achso, ja den Namen musst du halt vorgeben.
Das ist der name der variablen, die du im Shader verwendest.Das meinte ich auch nicht. Es ist nicht so, dass es nicht laufen würde, es ist nur nicht schön.
dot schrieb:
Ich würd mal sagen: In der Klasse, die den Shader verwendet
Hm.. ja, so habe ich das momentan auch. Finde ich aber irgendwie nicht wirklich schön. Scheint wohl keine bessere Lösung zu geben, hach wäre das schön, wenn man Shader Code direkt integrieren könnte.
Na gut, ich wollte nur mal wissen, wie ihr das macht und ob ihr da etwas Zentraleres gefunden habt. (Man kann soweit ich mich erinnere ja mit layout auch gleich die id's festlegen, das scheint aber wohl auch niemand zu machen.)
-
cooky451 schrieb:
dot schrieb:
Ich würd mal sagen: In der Klasse, die den Shader verwendet
Hm.. ja, so habe ich das momentan auch. Finde ich aber irgendwie nicht wirklich schön.
Wieso denn nicht?
cooky451 schrieb:
Scheint wohl keine bessere Lösung zu geben, hach wäre das schön, wenn man Shader Code direkt integrieren könnte.
Wie genau stellst du dir das mit dem "direkt integrieren" denn vor?
cooky451 schrieb:
Na gut, ich wollte nur mal wissen, wie ihr das macht und ob ihr da etwas Zentraleres gefunden habt. (Man kann soweit ich mich erinnere ja mit layout auch gleich die id's festlegen, das scheint aber wohl auch niemand zu machen.)
Inwiefern "zentraler"? Was genau ändert sich denn wenn man die Indizes festlegt!?
-
da man die namen auf beiden seiten braucht, share ich den include der die ganzen variablen hat. soviele sind es am ende des tages auch nicht.