- varying vec4 vpos;
- void main(void)
- {
- vpos = gl_Vertex;
- gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
- gl_TexCoord[0] = gl_MultiTexCoord0;
- }
DGL https://delphigl.com/forum/ |
|
Erster Shader Versuch: Fehlschlag https://delphigl.com/forum/viewtopic.php?f=20&t=5809 |
Seite 1 von 1 |
Autor: | Lord Horazont [ Di Aug 15, 2006 13:13 ] |
Betreff des Beitrags: | Erster Shader Versuch: Fehlschlag |
Hi @ll nachdem ich mir mal die Beispiele im 2006-er SDK angeschaut habe, dacht ich mir, dass man mit Shadern mit wenig Aufwand doch einiges schaffen kann. Also hab ich mir auch gleich das glSlang-Tutorial im Wiki durchgelesen. Allerdings mit bescheidenem Erfolg: Als ich das ganze implementiert habe, hat sich keine wirkung gezeigt. Die GetLogInfo-Funktionen werfen nur leere zurück. Im Rendering kann ich keine Veränderung entdecken, obwohl mein Fragment-Shader die Farbe auf 0.0,0.0,0.0,0.0 setzt. Aber jeden Frame bekomme ich ein invalid operation, wenn ich glUniform4fARB aufrufe und die Betrachterposition übergeben will (wollte mal versuchen nen Nebel-Shader zu schreiben). Wo liegt mein Fehler? Code:
- ja die Shader werden geladen. Code:
- und hier wird gerendert. Vertex-Shader Code:
Fragment-Shader Code:
P.S. Was mich noch interessiert: Kann man im Fragment-Shader irgendwie auslesen, welche Farbe vom Programm gesetzt wurde? (In meinem Fall: glColor3f(0.0, 0.75, 1.0);) Gruß Lord Horazont |
Autor: | La Boda [ Di Aug 15, 2006 13:47 ] |
Betreff des Beitrags: | |
Du musst vor dem Zeichnen glUseProgram(ProgramObject) aufrufen, das lässt sich genauso wie glBindTexture handhaben. Die Farbe, die per glColor3f(...) dem Vertex übergeben wurde, lässt sich ganz einfach durch das vordefinierte Attribut (read only!) gl_Color auslesen. |
Autor: | Lord Horazont [ Di Aug 15, 2006 15:03 ] |
Betreff des Beitrags: | |
Autsch. Darauf hätte ich auch kommen können. Trotzdem (oder gerade deswegen ![]() Gruß Lord Horazont |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |