ich spiele mich zur Zeit ein wenig mit OpenGL Shadern.
Hier mal der Vertex Shader
- Code: Ansicht erweitern :: Alles auswählen
#version 420
layout(location = 0) in vec3 Position3;
out vec4 vertexColor;
void main ()
{
gl_Position = gl_ModelViewProjectionMatrix * vec4(Position3, 1.0);
vertexColor = vec4(1.0, 0.0, 0.0, 1.0);
}
und hier der Fragment Shader
- Code: Ansicht erweitern :: Alles auswählen
#version 420
in vec4 vertexColor;
out vec4 outputColor;
void main()
{
outputColor = vertexColor;
}
Soweit ich das verstanden habe müsste mein Mesh in Rot auf dem Bildschrim erscheinen. Den Versuch mache ich an einem einfachen Dreieck.
Leider erscheint das Dreieck zwar an der richtigen Stelle, allerdings ist es tiefschwarz anstatt rot. Setze ich im Fragmentprogramm die Ausgabefarbe direkt funktioniert dies.
Es scheint mir fast so als würde der Vertexshader-Output nicht richtig an den Fragmentshader weitergegeben
Beim Compilieren bekomme ich weder Fehler noch Warnings.
Muss ich die Komponenten noch irgendwie manuell binden? Sämtliche Turoials die ich so gefunden habe sprechen davon dass das nicht notwendig ist.
