Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Jul 15, 2025 01:51

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 46 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Di Jun 10, 2003 14:40 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
@OpenGLATI

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.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jun 10, 2003 14:59 
Offline
DGL Member
Benutzeravatar

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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jun 10, 2003 15:45 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Zitat:
Für C/C++ gibt direkt Header von SGI.

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.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jun 10, 2003 17:46 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jun 18, 2003 10:23 
Offline
DGL Member
Benutzeravatar

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.

17-06-2003
- GL_ARB_multisample added

16-06-2003
- WGL_ARB_buffer_region added
- WGL_ARB_extensions_string added
- WGL_ARB_make_current_read added
- WGL_ARB_multisample added
- WGL_ARB_pbuffer added
- WGL_ARB_pixel_format added
- WGL_ARB_render_texture added
- WGL_ATI_pixel_format_float added
- WGL_EXT_depth_float added
- WGL_EXT_extensions_string added
- WGL_EXT_make_current_read added
- WGL_EXT_multisample added
- WGL_EXT_pbuffer added
- WGL_EXT_pixel_format added
- WGL_EXT_swap_control added
- WGL_NV_render_depth_texture added
- WGL_NV_render_texture_rectangle added
- WGL_NV_float_buffer added

14-06-2003
- OpenGLATI.pas renamed into OpenGLEXT.pas
- all functions named xxxATI renamed to xxxEXT
- GL_EXT_pixel_transform_color_table ported
- GL_EXT_shadow_funcs ported
- GL_EXT_stencil_two_side ported
- GL_EXT_texture ported
- GL_EXT_texture_env ported
- GL_EXT_texture_env_dot3 ported
- GL_EXT_vertex_shader ported

Viel Spaß Lossy


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jun 18, 2003 10:25 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Huch. Bin gerade ein bissel verwirrt. :o
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>


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 20, 2003 16:48 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Okt 26, 2002 17:14
Beiträge: 188
Wohnort: Hannover/Lüneburg
Schön, wird ja immer vollständiger :)
Aber hat sich wieder ein kleiner Fehler eingeschlichen:
Es muss
Code:
  1. glGenVertexShadersEXT: function(range: TGLuint): TGLuint; {&#036;IFDEF Win32} stdcall; {&#036;ENDIF} {&#036;IFDEF LINUX} cdecl; {&#036;ENDIF}
lauten und nicht
Code:
  1. glGenVertexShadersEXT: procedure(range: TGLuint); {&#036;IFDEF Win32} stdcall; {&#036;ENDIF} {&#036;IFDEF LINUX} cdecl; {&#036;ENDIF}
Ansonsten ist mir so auf Anhieb nichts anderes aufgefallen. Aber nochmal danke für die Mühe der Übersetzung!

_________________
Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 20, 2003 17:27 
Offline
DGL Member
Benutzeravatar

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. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 20, 2003 17:31 
Offline
DGL Member
Benutzeravatar

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?

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 20, 2003 17:55 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Zitat:
Hab diese nämlich auch in meinem neusten Tutorial verwendet.

Ja habe ich gesehen und fand ich echt geil. :D
Dein Tutorial finde ich im übrigen auch ziemlich klasse und sehr sehr informativ. :)

Wegen OpenGL 2.0 da ließe sich durchaus drüber reden. Dazu muss es aber auch erst mal fertig werden. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 20, 2003 21:42 
Offline
DGL Member
Benutzeravatar

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?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jun 21, 2003 14:54 
Offline
DGL Member
Benutzeravatar

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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jun 21, 2003 14:58 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Okt 26, 2002 17:14
Beiträge: 188
Wohnort: Hannover/Lüneburg
Dann kannst du gleich noch was korrigieren. Den Fehler mit ATI_fragment_shader hast du nämlich nicht ganz vollständig behoben:
Code:
  1.  &nbsp;glBindFragmentShaderATI := wglGetProcAddress('glBindFragmentShadersATI');
  2.  &nbsp;glDeleteFragmentShaderATI := wglGetProcAddress('glDeleteFragmentShadersATI');
  3.  &nbsp;glBeginFragmentShaderATI := wglGetProcAddress('glBeginFragmentShadersATI');
  4.  &nbsp;glEndFragmentShaderATI := wglGetProcAddress('glEndFragmentShadersATI');

muss in das hier geändert werden:
Code:
  1.  &nbsp;glBindFragmentShaderATI := wglGetProcAddress('glBindFragmentShaderATI');
  2.  &nbsp;glDeleteFragmentShaderATI := wglGetProcAddress('glDeleteFragmentShaderATI');
  3.  &nbsp;glBeginFragmentShaderATI := wglGetProcAddress('glBeginFragmentShaderATI');
  4.  &nbsp;glEndFragmentShaderATI := wglGetProcAddress('glEndFragmentShaderATI');

Du hattest zwar auf der linken Seite die s bei Shader entfernt, es aber auf der rechten Seite beim Laden der Adresse vergessen.

_________________
Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jun 21, 2003 15:11 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
:rolleyes:
Okay. Auch das ist jetzt behoben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 07, 2003 21:40 
Offline
DGL Member
Benutzeravatar

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>


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 46 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]