Ab sofort müssen wir die Grafikkarte selber programmieren. Dafür benötigen wir mindestens einen Vertex Shader und einen Fragment Shader. Lesen sie dazu auch den passenden Artikel über Schader auf LearnOpenGL.

Vertex Shader

Der Vertex Shader dient dazu jeden Vertex, den wir an die Grafikkarte senden entsprechend unserer Vorgaben zu tranformieren.

Legen Sie für den Vertex Shader eine neue Datei Computergrafik/cgb_04/shaders/vertex_shader.glsl mit folgendem Inhalt an:

#version 330 core
layout (location = 0) in vec3 Pos;

uniform mat4 WorldMatrix;
uniform mat4 ViewMatrix;
uniform mat4 ProjectionMatrix;

void main()
{
    mat4 WvpMatrix = ProjectionMatrix * ViewMatrix * WorldMatrix;
    gl_Position = WvpMatrix * vec4(Pos.x, Pos.y, Pos.z, 1.0);
}

Fragment Shader

Der Fragment Shader dient dazu das Ergebnis des Vertex Shaders weiterzuverarbeiten und für jeden sichtbaren Pixel die Farbe zu bestimmen.

Legen Sie für den Fragment Shader eine neue Datei Computergrafik/cgb_04/shaders/fragment_shader.glsl mit folgendem Inhalt an:

#version 330 core
out vec4 FragColor;

void main()
{
    FragColor = vec4(0.5f, 0.73f, 0.14f, 1.0f);
}

Syntax Highlighting in VSCode

Damit Visual Studio Code die Syntax korrekt hervorhebt, können Sie die Erweiterung Shader languages support for VS Code installieren. Diese Erweiterung unterstützt neben GLSL auch HLSL falls Sie mal in die DirectX Welt hinein schnuppern wollen.