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
Welche Programmiersprache nach javascript?

ich hab eine lange zeit nichts anderes als javascript gemacht darunter ist auch Typescript und react und vieles mehr und klar man kann noch mehr lernen. Php kann ich ausreichend fürs backend.

aber immer auf den Browser beschränkt zu sein und websites macht auf Dauer keinen spass. Ich will auch in der lage sein desktop programme zu schreiben.
electron js kann das aber ist auch nicht das beste was man nutzen kann und sobalds aufwendiger wird hat man Probleme und riesige Dateien. Man lernt auch nichts neues dadurch das ist nichts für mich.

c# c++ c java oder rust hatte ich im kopf.

(python syntax gefällt mir auch nicht , mir geht es auch ums lernen. Nicht nur mit pip install irgendwas nutzen von jemand anderes. Am ende hast du keine ahnung von der programmierung)

aber wie weiss ich welches der oben genannten Sprachen eher was für mich ist.

Java ist Typescript sehr ähnlich, läuft überall und ich könnte da schnell zurechtkommen aber dafür ist es deutlich langsamer als C++ und nicht so mächtig.

Mit c++ lernst du auch viel und wird oft in Unis oder Schulen gelehrt, hätte damit einen vorteil wenn ich es schon gut kann.
Rust hat einen kleinen hype und viele meinen es wird in zukunft wichtiger werden = mehr jobs.

c# ist soweit ich weiss
nur für windows Anwendungen gut, mit den anderen sprachen könnte man auch in zukunft was für linux machen wenn man lust drauf hat.

ich seh da keinen grossartigen vorteil zu java oder c++ in der schnelligkeit.

Computer, Microsoft, App, IT, Webseite, Java, JavaScript, compiler, Cplusplus, C Sharp, CPP, Informatik, Oracle, Programmiersprache, Python, sdk, C (Programmiersprache), React, Angular

Meistgelesene Fragen zum Thema Informatik