Opengl Shader Uniform wird im Code nicht erkannt?

Ich versuche gerade OpenGl zu lernen. Und ich habe folgendes Problem, wenn ich mit glGetUniformLocation versuche meine Uniform vom Shader ausfindig zu machen findet er diesen uniform einfach nicht. Habt ihr eine Idee wieso?

Mein Code:

const char* vertexShaderSource = R"(
    #version 460 core


    uniform vec3 transformation;


    in vec3 position;
    out vec4 color;


    void main()
    {
        gl_Position = vec4(position, 1.0);
        color = vec4(1.0, 1.0, 0.0, 1.0);
    }
)";


const char* fragmentShaderSource = R"(
    #version 460 core


    in vec4 color;
    out vec4 outColor;


    void main()
    {
        outColor = color;
    }
)";

int main()
{
    SDL_Init(SDL_INIT_VIDEO);
    Window2D window2D("Debug", 800, 600);
    gladLoadGL();
    glViewport(0, 0, 800, 600);


    //Dreieck vertices


    float vertices[] = {
        -0.5f, -0.5f, 0.0f,
        0.5f, -0.5f, 0.0f,
        0.0f, 0.5f, 0.0f
    };


    //Shader
    //Vertex Shader
    GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER);
    glShaderSource(vertexShader, 1, &vertexShaderSource, NULL);
    glCompileShader(vertexShader);


    //Fragment Shader
    GLuint fragmentShader = glCreateShader(GL_FRAGMENT_SHADER);
    glShaderSource(fragmentShader, 1, &fragmentShaderSource, NULL);


    //Programm
    GLuint program = glCreateProgram();
    glAttachShader(program, vertexShader);
    glAttachShader(program, fragmentShader);
    glLinkProgram(program);


    //Uniform
    GLint uniform = glGetUniformLocation(program, "transformation");
    if (uniform == -1) {
    std::cerr << "Error: Not Found" << std::endl;
    }


    //Shader


    //VBO and VAO
    GLuint VBO, VAO;
    glGenVertexArrays(1, &VAO);
    glGenBuffers(1, &VBO);


    glBindVertexArray(VAO);


    glBindBuffer(GL_ARRAY_BUFFER, VBO);
    glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);


    glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*) 0);
    glEnableVertexAttribArray(0);


    glBindBuffer(GL_ARRAY_BUFFER, 0);
    glBindVertexArray(0);


    while(window2D.windowRun() == false)
    {
        glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT);


        glUseProgram(program);


        glBindVertexArray(VAO);
        glDrawArrays(GL_TRIANGLES, 0, 3);
    }
    window2D.closeWindow();
    return 0;
}

Sonst funktioniert tatsächlich alles, das Dreieck wird Gelb angezeigt nur der Uniform funktioniert nicht.

CPP, Informatik, OpenGL, Spieleprogrammierung, GLSL
Thema für Informatik Referat an der Uni?

Moin,

da ich bald an der Uni ein Referat zu irgendeinem informatischen Thema halten muss, wollte ich hier nachfragen, ob mir jemand, der im Idealfall selbst etwas mit Informatik am Hut hat, ein Thema vorschlagen könnte, zu dem man leicht recherchieren kann und für Anfänger gut zu verdauen ist. (Habe das Studium vor einer Woche angefangen und habe noch ordentlich Zeit). Es sollte aber auch kein Thema sein, das zu Basic ist, also lieber zu schwer, als zu leicht.

Bin für jede Hilfe dankbar.

So sehen übrigens die Themenvorschläge aus:

1. Linuxdistributionen im Business-Umfeld

2. Anwendungsfelder und Grenzen von Quantencomputern

3. Modernes IT Management im Unternehmen

4. Die Bedeutung von User Experience und Human Centricity

in modernem GUI-Design

5. Potentiale von Webservices für Softwarearchitekturen

6. Load-Balancing in geschäftlichen Applikationen

7. Strategische Vorteile durch Virtualisierung

8. SSD vs. HDD – Analysen zur Langlebigkeit

9. Linux für Jedermann? Prognosen zur Verbreitung von Linux-Betriebssystemen

10. Internet of things– Potentiale und Sicherheitsaspekte für Privatanwender

11. Datenübertragung/-busse in Kraftfahrzeugen – Ausführung,

Normen/Standards

12. Autonomes Fahren – rechtliche Situation und Herausforderungen

13. CNC Steuerung/Programmierung: Stand der Technik und Normen/Standards

14. PLM-Software– Grundlegendes Konzept und Anwendung im Unternehmen

15. SPS-Steuerung– Funktion, Konzepte, Umsetzungsbeispiele

16. Eigene (sinnvolle) Themenvorschläge sind willkommen!

Problem ist nur, dass mein Lieblingsthema SSD-HDD bereits vergeben ist, sowie alle anderen Themen auch. Eine Option wäre gewesen, dass ich dasselbe Thema nehme, nur mit nem speziellen Schwerpunkt, aber daran hätte ich kein Interesse.

Referat, Informatik, referatsthema

Meistgelesene Beiträge zum Thema Informatik