Ich korrumpiere ja nur ungern deinen Entwicklerdrang, aber ich glaube in der GLEXT.PAS von Tom Nuydens sind die ganzen Extensions (und noch viele Weitere) schon integriert. Auf jeden Fall sollte sie dir gute Dienste beim Übernehmen weiterer Extensions leisten.
GLEXT.PAS ist Teil des DOT Frameworks: <a href='http://www.delphi3d.net/dot/index.htm' target='_blank'>http://www.delphi3d.net/dot/index.htm</a>
Wenn ich nicht schon meine eigene OpenGL Unit zusammengestückelt hätte, würde ich auch auf jeden Nuydens OpenGL Port verwenden, der mir recht ausgereift erscheint (leider sind native OpenGL 1.4 Bindings noch nicht inkludiert).
Eine weitere Quelle für Extensions sind glext.h bzw. glext.c von Lev Pohalahev (einfach kurz googeln), die z.B. im Mcad Ansi C bzw. C++ Output auch als alternative OpenGL Bibliotheken gebunden werden können, um sofort Zugriff auf eine Unmenge von Extensions (darunter sämtliceh _ARBs und _EXTs) zu ermöglichen. Kompiliert unter Windows und Linux.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Für C/C++ gibt direkt Header von SGI.
Der Header von Tom Nuydens ist mir durchaus bekannt. Und es ist mir auch bewusst, dass ich mir gerade viel mehr arbeit mache als überhaupt notwendig ist (und das obwohl ich ein total faules Stück bin ). Aber ich hatte mir das DOT schon ein par mal angesehen und irgendwie werde ich damit nicht warm. Also bin ich zu dem OpenGL Header von Mike Lischke gekommen. Und beide vertragen sich dummerweise nun mal überhaupt nicht. Da ich ungern zu DOT wechseln möchte mache ich mir da lieber mein eigenes Zeug. Vor allem, da ich die Header von Tom recht unübersichtlich finde. Bzw. die Tatsache, dass ich jede Extension einzeln initialisieren muss stört mich auch ein wenig.
Die aber nicht sehr angenehm handzuhaben sind, weil nur die Prototypen drinstehen - müssen ja auch, weil damit u.U. ja auch gegen eine statische Bibliothek gelinkt werden können muss - eine OpenGL Implementation muss ja nicht zwingend als änderbarer Treiber realisiert werden. Mit MesaGL kann man sogar OpenGL Programme für DOS schreiben (mittels DJGPP) :huh: . Das heißt, dass man sich spezifische Extensions doch wieder selbst laden muss - immerhin hat man hier aber immer die neuesten Extensions auf einen Blick. Pohalahev hat sich tatsächlich die Arbeit angetan, die glExt.h in ein Framework zu packen (ist übrigens immer so ziemlich auf dem neuesten Stand), das automatisch eventuell vorhandene Extensions lädt, die dann auch abgefragt werden können. Das Ganze ist ziemlich transparent und benötigt nur einen zusätzlichen Funktionsaufruf (aber ok, das hat jetzt mit Delphi nichts zu tun).
Zitat:
Da ich ungern zu DOT wechseln möchte mache ich mir da lieber mein eigenes Zeug.
Das kann ich gut nachvollziehen . Im Endeffekt bin ich auch gerne unabhängig von Code den andere geschrieben haben.
Die OpenGL Header gibt's es bei Tom Nuydens unabhängig von Dot. Aber trotzdem ist es schön sowas selber zu machen. Das ist zwar keine besonders anspruchvolle Aufgabe die Konstanten aus der OpenGL Hilfe zu kopieren und die Parameternamen und Typen umzudrehen und man hat dann doch eine gewisse Vorfreude auf die neuen Funktionen. Ich hab auch die gl.pas und glu.pas von Tom Nuydens aber die Extension habe ich selber eingegeben. Allerdings nicht immer vollständig und nicht alle, so daß das sich trotzdem lohnt das mal sauber in einer Datei zusammenzufassen.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Hallo,
ich habe mal wieder ein kleines Update für euch. Da ich mich entschlossen habe auch die nVidia Extension zu portieren heißt die Unit nicht mehr OpenGLATI.pas sondern OpenGLEXT.pas. Die Methodem im übrigen auch.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Huch. Bin gerade ein bissel verwirrt. Ohne link gehts ja nicht. <a href='http://www.dev-center.de/download/OpenGLEXT.zip' target='_blank'>http://www.dev-center.de/download/OpenGLEXT.zip</a>
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Danke für das Feedback. Aber ich muss dich da leider enttäuschen. Ich hatte gerade mal in der Spec von SGI nachgesehen und die Methode liefert tatsächlich etwas zurück. Muss sie ja auch. Du brauchst ja auch die ID von dem Programm.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Jo...auch von meiner Seite aus bedank ich mich mal für die Mühe die du dir mit dieser Unit machst.Hab diese nämlich auch in meinem neusten Tutorial verwendet.
P.S. : Ich geh mal aufgrund deiner Bemühungen mit dieser Extension-Datei davon aus, das du auch dazu zu überreden wärst, OpenGL2.0 nach Delphi zu übertragen (natürlich nicht alleine, sondern in nem etwas grösseren Team), oder?
Registriert: Sa Okt 26, 2002 17:14 Beiträge: 188 Wohnort: Hannover/Lüneburg
Lossy eX hat geschrieben:
Aber ich muss dich da leider enttäuschen.
Hä? Das hab ich doch geschrieben... In deiner Unit wird nämlich nichts zurückgegeben, dass hab ich ja gerade geändert. Aber vermutlich hab ich dich eh gerade nur falsch verstanden.
@SoS: dein Tut ist wirklich gut! Wo ich mich eh gerade mit Shadern beschäftige, kam mir das sehr gelegen. DANKE!
_________________ Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Oh. Verzei Thunderman. Nicht du hast mich falsch verstanden ich hatte dich falsch verstanden. Der Fehler ist aber gefixed. Eine neue Version lade ich Bald auf meinen Server.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
So ich habe mal wieder ein Update für euch. Nachdem ich die letzten Wochen meine Webseite komplett umgestellt habe, hatte ich auch mal wieder ein wenig Zeit für die Konvertierung. Ich habe ein paar kleinere Fehler und ungereitheiten entfernt.
Folgende Erweiterungen habe ich schon komplett hinzugefügt. GL_NV_copy_depth_to_color GL_NV_depth_clamp GL_NV_evaluators GL_NV_fence GL_NV_float_buffer GL_NV_fragment_program
Die Konstanten für die restlichen nVidia Erweiterungen wurden schon hizugefügt es müssen lediglich noch die funktionen übersetzt und implementiert werden. Ich schätze mal, dass ich das innerhalb der nächsten paar Tage packen sollte.
zu finden gibts das ganze auf <a href='http://www.dev-center.de/index.php?cat=header&file=openglext' target='_blank'>http://www.dev-center.de/index.php?cat=hea...&file=openglext</a>
Mitglieder in diesem Forum: Majestic-12 [Bot] und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.