dglOpenGL.pas: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Hinweis)
Zeile 13: Zeile 13:
  
 
==Hinweis==
 
==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.
+
Seit der Headerversion 2.1 unterstützt der reguläre Header kein .NET mehr.  
 +
 
 +
{{Hinweis|Der .Net Header wird vorerst nicht weiterentwickelt. Eventuell vorhandene Fehler werden aber berichtigt. Neue Funktionen (durch neue OpenGL-Versionen) gibt es nur im Standard-Header.}}
 +
 
 +
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==
 
==Download==

Version vom 10. April 2007, 00:26 Uhr

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.

Info DGL.png Der .Net Header wird vorerst nicht weiterentwickelt. Eventuell vorhandene Fehler werden aber berichtigt. Neue Funktionen (durch neue OpenGL-Versionen) gibt es nur im Standard-Header.

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++.