dglOpenGL.pas

Aus DGL Wiki
Version vom 14. Februar 2009, 18:57 Uhr von Flash (Diskussion | Beiträge) (Der DelphiGL-Header: Hinweis zur benutzten Lizenz eingebaut. Die Information stammt aus dem "Beipackzettel" des Headers.)

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.

Lizenz/Nutzungsbedingungen

Die dglOpenGL.pas wird unter den Bedingungen der Mozilla Public License Version 1.1 weitergegeben. Eine Kopie der Lizenz ist zu finden unter http://www.mozilla.org/MPL/MPL-1.1.html.

The contents of the dglOpenGL.pas are used with permission, subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/MPL-1.1.html

Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

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üsstet also nachdem ihr euren Kontext erstellt habt ihn entweder über ActivateRenderingContext aktivieren oder aber es muss ReadExtensions und ReadImplementationProperties von Hand aufgerufen werden, ansonsten könnten Zugriffsverletzungen an Adresse 0x00000000 auftreten wo vorher keine waren. Bitte überprüft das.

Download

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

Hier könnt ihr den letzten 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
(Anmeldung für Download notwendig.)


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