OpenGL Version 1.5, Visual Studio und glGenBuffers



  • Hallo,
    ich lerne gerade mit Vertex-Arrays zu arbeiten. Leider bin ich gerade nach meiner stundenlangen Suche mit Google, Bing und Freunde etwas am verrückt werden und würde gerne mal wieder jemanden fragen, der sich mit sowas auskennt.

    Ich benutze Visual Studio 2008 Professional. Dort ist ja OpenGL Version 1.1 mit dabei. Solange ich jetzt glBegin()/glEnd() benutz hatte, war das kein Problem.

    Jetzt hat mir Scorcher24 aus dem Forum hier ein gutes Tutorial gegeben um mal in die Welt der Vertex-Arrays zu schnuppern und modernes OpenGl kennen zu lernen:
    http://www.arcsynthesis.org/gltut/Basics/Tut01%20Following%20the%20Data.html
    Bis hier hin bin ich gekommen:

    Chapter 1. Hello, Triangle! schrieb:

    void InitializeVertexBuffer()
    {
      glGenBuffers(1, &positionBufferObject);
      glBindBuffer(GL_ARRAY_BUFFER, positionBufferObject);
      glBufferData(GL_ARRAY_BUFFER, sizeof(vertexPositions), vertexPositions, GL_STATIC_DRAW);
      glBindBuffer(GL_ARRAY_BUFFER, 0);
    }
    

    Denn bei meinen ersten Versuchen hat gleich der Befehl glGenBuffers() nicht funktioniert. Der Kenner hat sicherlich gleich bemerkt wofür ich das OpenGL-Manual bedienen musst: Der Befehl glGenBuffers() ist erst ab der Version 1.5 verfügbar.

    Also ab auf die Suche, wie man im Visual Studio ab der Version 1.5 programmieren kann.

    Ich möchte hier einen großen Künstler in seinem ersten Film zitieren:

    Otto (der Film) schrieb:

    Da waren Sie wieder meine 3 Probleme!

    1.) Ich habe bei Microsoft keinen Weg gefunden, wie ich die OpenGL-Version updaten kann.

    2.) Ich habe GLEW ausprobiert. Muss aber dann immer die GLEW.dll (oder glew32.dll?) mitliefern. Das Mitliefern von DLL-Dateien geht bei mir leider nicht immer, weil ich oftmals mit Server und Client-Lösungen arbeite und eine Installationsroutine schlecht bis gar nicht hinzuzufügen wäre. Außerdem bin ich mir nicht sicher, ob ich sooo gut programmieren kann, dass dieser Weg für mich der richtige ist.

    3.) Ich habe mir die GLext-Header herunter geladen. Habe die auch in die passenden Verzeichnisse kopiert (also der Compiler findet die) aber ich schaffe es nicht so eine Art typedef zu schreiben, der mir die Funktion glGenBuffers() als Funktionszeiger zurück liefert.

    Und nun:
    HILFE!

    Ich hab hier im Forum schon sehr oft gelesen, das gerade Visual Studio sehr oft für die Spiele-Programmierung verwendet wird, also kann ich mir nicht vorstellen, dass OpenGL 1.1 das letzte Wort für Visual Studio ist.

    Das liebste wäre mir, die aktuelle OpenGL-SDK für Visual Studio zu installieren, leider finde ich keinen Link und auch keine Anleitung zum Thema.

    Aber wahrscheinlich ist es mal wieder das folgende Problem: Ich weiß ja gar nicht mit welchen Begriffen und Themen ich richtig suchen würde.

    In den Forum-Regeln steht, man soll eine klare Frage definieren:
    Was muss (sollte) ich tun um sinnvoll den Befehlssatz von OpenGL 1.5 (oder neuer) in Visual Studion 2088 Professional zu erhalten?

    Danke,
    Stefan



  • Du solltest GLEW benutzen, das ist am leichtesten.

    Installation: http://glew.sourceforge.net/install.html
    Dort wird auch beschrieben wie du GLEW statisch linken kannst.

    Anstonsten müsstest du wglGetProcAdress benutzen um unter Windows an die neuen OpenGL Features zu kommen.


Anmelden zum Antworten