dglOpenGL.pas

Aus DGL Wiki
Wechseln zu: Navigation, Suche
Info DGL.png Im Lieferumfang von Delphi ist bereits ein OpenGL Header enthalten. Dieser Header ist allerdings veraltet und fehlerhaft. Unter anderem wurden Befehlsbezeichner nicht korrekt übernommen. Es wird daher dringend davon abgeraten diesen Header zu benutzen.

Der DelphiGL-Header

Für alle die OpenGL unter Delphi nutzen möchten hat die DelphiGL Community einen Header zur Verfügung gestellt.

Der Header enthält alle aktuellen OpenGL-Funktionen sowie alle aktuellen GLU-Funktionen.

Des weiteren sind alle ARB-, EXT-, NV- und ATI- Extensions enthalten sowie einige weitere Extensions von anderen Herstellern (Apple, HP, SGI...)

Als besonderer Service bei den Extensions enthält der Header eine Booleanvariablen für jede Extension die automatisch bei Initialisieren gesetzt wird. Diese Booleanvariable (die den gleichen Namen wie der Abfragestring hat) gibt dann an, ob die Extension verfügbar ist oder nicht. (Man erspart sich damit die Stringauswertung bei glGetString.)

Der Header wird von der DGL-Community gepflegt und auf dem neuesten Stand gehalten. Dadurch wird es den Nutzern des Headers sehr leicht gemacht bei neuen OpenGL Versionen einfach den neuen Header in ihre Programme einzubinden (Man muss nur den alten durch den neuen Header ersetzen). Weiterhin ist es auch möglich den Header unter anderen Pascalplattformen wie z.B. Freepascal zu benutzen.

Hinweis

Seit der Headerversion 2.1 unterstützt der reguläre Header kein .NET mehr. Mit dem Entfernen der .NET Unterstützung wurde auch eine Technik entfernt die es dem Header möglich gemacht hat benötigte Methoden dynamisch nachzuladen. Dies Funktioniert jetzt nicht mehr. Ihr müsste also nachdem ihr euren Kontex erstellt habe ihn entweder über ActivateRenderingContext aktivieren oder aber es muss ReadExtensions und ReadImplementationProperties von Hand aufgerufen werden. Solltet ihr Zugriffsverletzungen an Adresse 0x00000000 bekommen wo vorher keine waren. Überprüft das.

Download

Hier könnt ihr den aktuellen dglOpenGL.pas Header downloaden.

Hier könnt ihr den aktuellen dglOpenGL.pas Header mit .NET Unterstützung downloaden.



Mars hat im DGL-Forum ein abgewandelte Form der dglOpenGL.pas gepostet, welche auch mit Delphi 3 funktioniert:
dglOpenGL.pas für Delphi 3


Weiterhin existiert eine inoffizielle Version des Headers für C++.