Direkter Zugriff auf OpenGL mind. 3.3

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

mpreu

Betreff: Direkter Zugriff auf OpenGL mind. 3.3

BeitragFr, Feb 07, 2014 0:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe jetzt mal eine ganz dumme Frage, ich weiß dumme Fragen gibt es nicht.
Ich habe mich nun auf diversen Seiten belesen und so richtig seh ich bei OpenGL nicht durch wenn man es mit verschiedenen Sprachen ausser C++ nutzen möchte.

Punkt 1, soweit ich weiß kann man die OpenGL32.dll auf einem Windows System nutzen um an die Standardexporte zu kommen, unter anderem auch an "wglgetprocadress" um an core Funktionen zu kommen.
Ist das so richtig?

Ich weiß dass es für bmax bereits mods gibt, aber ich möchte nicht an bmax gebunden sein.
Ist es erstmal soweit richtig?

Ich weiß, es gibt noch spezielle Hilfsmittel beginnend bei SDL, GLU, GLEW oder auch GLFW oder wie sie sonst noch alle heißen.
Wenn man das jetzt alles pure machen will, welche Funktionen sind denn in jedem Fall notwendig um ein Grundgerüst laufen zu lassen?
Also ein einfaches OpenGL Fenster mit zum Beispiel einem Würfel drin.

Nur um einmal die Funktionsweise sehen zu können.

Wenn ich mit irgendwas falsch liege, bitte korrigiert mich.

BtbN

BeitragFr, Feb 07, 2014 14:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Gerade unter Windows wirst du nicht um einen Extension Wrangler(meistens GLEW) drumrum kommen.
Pures OpenGL unter Windows hört bei OpenGL 1.1 auf, alle anderen funktionen muss man anhand ihres Namens aus der jeweiligen hersteller OpenGL dll nachladen, was genau der Job eines Extension Wranglers ist.
 

mpreu

BeitragFr, Feb 07, 2014 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist, soweit ich weiß, nicht ganz richtig.
Pures OpenGL ist bis Version 1 durch die Opengl32.dll gegeben.
Die Funktionen welche man nachlädt mittels getprocadress beinhalten auch die core funktionen.

Mir ist klar dass glew als Beispiel genau dies macht, aber man kann es auch von hand machen.
Und man muss nichts aus irgendeiner hersteller opengl.dll nachladen.
Extensions die abhängig von der grafikkarte sind, bzw. vom hersteller sind nicht überall verfügbar.
Aber die core funktionen von z.b. opengl 3.3 werden ebenso durch getprocadress zur runtime geladen.

Wie das intern funktioniert, weiß ich natürlich nicht.
In jedem Fall kann man vorab prüfen welche opengl version vorliegt und dann die entsprechenden funktionen laden.

http://msdn.microsoft.com/en-u...85%29.aspx

Ein Extension Wrangler tut genaus das und vereinfacht natürlich so einiges bspw. beim erstellen des contextes.
Aber entsprechende Funktionen lädt man auch dort mit der funktion getprocadress nach.
Also im Prinzip das was ich auch machen möchte.

Oder gibt es denn einen mod für bmax welche rmir zugriff auf opengl 3.3-4 ermöglicht?

BtbN

BeitragFr, Feb 07, 2014 20:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Das glew modul.
 

mpreu

BeitragFr, Feb 07, 2014 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibt es dazu beispiele irgendwo, wo mal mehr als opengl version 1 genutzt wird?

BtbN

BeitragFr, Feb 07, 2014 21:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Das glew modul exportiert alle funktionen die die glew version auf der es basiert hatte.
Das ist mindestens 3.x, ka wie aktuell das ist. Aber es liegt ein script bei, womit man es auf basis einer neueren glew version generieren kann, was einem dann alle funktionen bis 4.4 geben würde.
 

mpreu

BeitragFr, Feb 07, 2014 22:14
Antworten mit Zitat
Benutzer-Profile anzeigen
cool, das schau ich mir da direkt mal an.
wie funktioniert das eigentlich mit diesen contexten...also wegen der kompatibelität?

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group