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

Aktuelle Zeit: Di Apr 23, 2024 16:29

Foren-Übersicht » DGL » News
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: [OPENGL] OpenGL Header Version 3.2
BeitragVerfasst: Sa Sep 12, 2009 18:48 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
OpenGL 3.1 hatte ich mal ganz dezent ignoriert aber so langsam wurde es mal wieder Zeit, dass der Header ein Update bekommt. Hat er auch.

  • OpenGL 3.1 Kern wurde hinzugefügt
  • OpenGL 3.2 Kern wurde hinzugefügt
  • GLX Kern bis Version 1.4 wurde hinzugefügt. Damit ist es dann mit der dglOpenGL unter Linux (mac?) möglich einen Kontext per Hand erstellen zu können. Mit den Erweiterungen GLX_ARB_create_context und GLX_ARB_create_context_profile dann auch einen 3.0 Kontext.
  • Das Define DGL_DEPRECATED wurde hinzugefügt. Das Define ist per default aktiv und aktiviert die als deprecated markierten Methoden und Konstanten im OpenGL Kern. Auf alle anderen Erweiterungen hat das keinen Einfluss. Für Ideen bin ich jederzeit offen. Und ja. Ich habs im Endeffekt doch so gemacht, denn im Header von opengl.org werden ältere Version gelegentlich mal aktualisiert und dass müsste dann auch mit seperaten Headern von unserer Seite gemacht werden. Und da bin ich zu faul für.
  • Der Header sollte jetzt 64 Bit kompatibel sein. Hatte es unter Fedora 11 32 Bit /64 Bit und Windows XP 32 Bit / 64 Bit getestet. Allerdings alles in der Virtual Box.
  • Der Header ist Delphi 2009 und 2010 kompatibel
  • Die Erkennung von Delphi wurde verändert. Zukünftige Versionen von Delphi müssen nicht mehr nachgepflegt werden, da jetzt speziell auf "problematische" Versionen geprüft wird. Wer auch immer sich das ausgedacht hatte, dass es wirklich alle andersrum machen. Danke...
  • verschiedenen Erweiterungen (GL_VERSION_3_0, GL_ARB_map_buffer_range, GL_NV_present_video, GL_ARB_instanced_arrays) wurden aktualisiert (auch der Header von opengl.org ist nicht perfekt).
  • Neue Erweiterungen
    • GL_ATI_meminfo
    • GL_AMD_performance_monitor
    • GL_AMD_texture_texture4
    • GL_AMD_vertex_shader_tesselator
    • GL_AMD_draw_buffers_blend
    • GL_ARB_uniform_buffer_object
    • GL_ARB_compatibility
    • GL_ARB_copy_buffer
    • GL_ARB_shader_texture_lod
    • GL_ARB_depth_clamp
    • GL_ARB_draw_elements_base_vertex
    • GL_ARB_fragment_coord_conventions
    • GL_ARB_provoking_vertex
    • GL_ARB_seamless_cube_map
    • GL_ARB_sync
    • GL_ARB_texture_multisample
    • GL_ARB_vertex_array_bgra
    • GL_ARB_draw_buffers_blend
    • GL_ARB_sample_shading
    • GL_ARB_texture_cube_map_array
    • GL_ARB_texture_gather
    • GL_ARB_texture_query_lod
    • GL_EXT_provoking_vertex
    • GL_EXT_texture_snorm
    • GL_APPLE_texture_range
    • GL_APPLE_float_pixels
    • GL_APPLE_vertex_program_evaluators
    • GL_APPLE_aux_depth_stencil
    • GL_APPLE_object_purgeable
    • GL_APPLE_row_bytes
    • WGL_ARB_create_context_profile
    • WGL_AMD_gpu_association
    • WGL_3DL_stereo_control
    • GLX_ARB_multisample
    • GLX_ARB_fbconfig_float
    • GLX_ARB_get_proc_address
    • GLX_ARB_create_context
    • GLX_ARB_create_context_profile
    • GLX_EXT_visual_info
    • GLX_EXT_visual_rating
    • GLX_EXT_import_context
    • GLX_EXT_fbconfig_packed_float
    • GLX_EXT_framebuffer_sRGB
    • GLX_EXT_texture_from_pixmap


Den Downloadlink gibts wie üblich im passenden Wiki Artikel.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 12, 2009 20:04 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Wunderbar :). Ich hab zwar keine GL3-fähige Grafikkarte, aber trotzdem ein Lob für diese Arbeit :).

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 12, 2009 20:29 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Geht mir auch so, aber ich finds gut, dass unser Header vorn mit dabei ist. ;)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 12, 2009 21:14 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2067
Programmiersprache: C++
Vielen Dank für die Arbeit! :)

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 12, 2009 23:36 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Auch danke :wink:

Diesmal bin ich fixer als sonst: habs schon eingebaut. Allerdings bin ich als Tester ungeeignet, weil ziemlich weit entfernt von OpenGL3.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Sep 13, 2009 07:15 
Offline
DGL Member
Benutzeravatar

Registriert: Do Okt 16, 2008 13:18
Beiträge: 252
Ich finde es auch super. Wie muss ich eigendlich UInt64 deklarieren Delphi 5 kennt das noch nicht. (Man muss auch noch als Dummy die Procedure RaiseLastOSError deklarieren)

_________________
You even trying ...

Website: http://rise-of-light.de/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Sep 13, 2009 10:06 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
UInt64 ist QWord. Sollte eigentlich vorhanden sein.

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Sep 13, 2009 13:09 
Offline
DGL Member
Benutzeravatar

Registriert: Do Okt 16, 2008 13:18
Beiträge: 252
QWord habe ich nur in Assembler-Bereichen gefunden, als normaler Typ wie Byte kann ich es nicht schreiben. Was ist stattdessen möglich?

_________________
You even trying ...

Website: http://rise-of-light.de/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Sep 13, 2009 13:47 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ich meine Delphis < 7 kennen nur Int64 als 64 Bittigen Datentyp. Und UInt64 wurde erst mit Delphi 7 eingefügt.

mori hat geschrieben:
Ich finde es auch super. Wie muss ich eigendlich UInt64 deklarieren Delphi 5 kennt das noch nicht. (Man muss auch noch als Dummy die Procedure RaiseLastOSError deklarieren)

Hmmm. Das sollte eigentlich durch ein Define gelöst werden. Aber scheinbar habe ich bei der Umstellung was nicht beachtet.

Ich habe an der Erkennung mal was verändert und angehangen. Habe hier leider kein Delphi 5 und kanns deswegen nicht testen. Aber werds morgen wo anders testen und dann integrieren. Mache das nur deswegen so um nicht mit releases um mich zu werfen. ;)


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Sep 14, 2009 15:05 
Offline
DGL Member
Benutzeravatar

Registriert: Do Okt 16, 2008 13:18
Beiträge: 252
Super. Jetzt geht alles, vielen Dank nochmal.

_________________
You even trying ...

Website: http://rise-of-light.de/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Sep 15, 2009 15:35 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Mhh, hat jemand schon mal versucht diesen Header mit SDL zu benutzen?
Bekomme nämlich die berühmte 0000000er Accessviolation. Wenn ich den Header von Version 2.1 benutze läuft alles wie normal.
Hier der Init Ausschnitt.

Code:
  1. if (SDL_Init(SDL_INIT_VIDEO) <> 0) then
  2.   Die('Error! SDL could not be initialized.');
  3.  
  4. FVideoInfo := SDL_GetVideoInfo();
  5. if (FVideoInfo = nil) then
  6.   Die('Error! Could not get graphic device information.');
  7.  
  8. FVideoFlags := SDL_OPENGL or SDL_DOUBLEBUF or SDL_HWPALETTE;
  9.  
  10. if (FVideoInfo^.hw_available <> 0) then
  11.   FVideoFlags := FVideoFlags or SDL_HWSURFACE;
  12. else
  13.   FVideoFlags := FVideoFlags or SDL_SWSURFACE;
  14.  
  15. if (FVideoInfo^.blit_hw <> 0) then
  16.   FVideoFlags := FVideoFlags or SDL_HWACCEL;
  17.  
  18. SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 5);
  19. SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 5);
  20. SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 5);
  21. SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
  22. SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
  23.  
  24. FSurface := SDL_SetVideoMode(800, 600, 32, FVideoFlags);
  25. if (FSurface = nil) then
  26.   Die('Error! SDL Surface could not be created.');
  27.  
  28. // initialize Opengl ---------------------------------------------------------
  29. if (not InitOpenGL()) then
  30.   Die('Error! OpenGL could not be initialized. Exiting program...');
  31.  
  32. ReadExtensions(); // hier bekomme ich glaub ich die AV
  33. ReadImplementationProperties();


Ich hoffe ihr könnt mir da helfen. Danke!

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: OpenGL Header Version 3.2.1
BeitragVerfasst: Di Sep 15, 2009 17:28 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ich habe eben eine leicht veränderte Version hochgeladen. Diese enthält nichts weiter als die Aktualisierung der Kompilererkennung.

MatReno: Ich hatte es bisher nicht unter SDL getestet. Habe das gerade nachgeholt. Bei mir funktioniert es sowohl unter Windows XP 32 Bit als auch unter Fedora 11 32 Bit. Mehr habe ich jetzt aus zeitgründen nicht getestet. (Langsam nimmt das testen mehr Zeit in Anspruch als das pflegen). Wäre schön, wenn du mir da noch ein paar Informationen über dein System (Betriebssystem, Kompiler, Graka) zukommen lassen könntest bzw. wenn du da eventuell durch Debuggen (konsolendebuggin aka writeln) den Fehler eingrenzen könntest.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Sep 15, 2009 17:44 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Naja, das Problem ist ja, dass ich bei SDL den Delphi Debugger nicht verwenden kann...
Also ich nutze Turbo Delphi, WinXP, als Graphik Karte nen OnBoard chip:
Code:
  1. [gl_vendor] Intel
  2. [gl_renderer] Intel Cantiga

Hilft das was? Also wie gesagt, der gleiche Code-Abschnitt funktioniert mit dem 2.1 header.

Edit:
Ich hab noch ein bisschen rumprobiert, aber viel hab ich nicht rausbekommen.
Ich habe mal
Code:
  1. {$define DGL_DEPRECATED}
auskommentiert, aber geändert hat es nichts.

Edit2:
Oh man, ich hab das Problem gefunden!
Es lag daran, dass ich glGetString(GL_VENDOR) vor
Code:
  1. ReadExtensions();
  2. ReadImplementationProperties();
aufgerufen habe. Merkwürdigerweise funktionierte das beim alten Header, kA warum...
Naja, tut mir Leid, dass ich eure Zeit verschwendet habe. :oops:

Trotzdem Danke für die Antwort Lossy!

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 16, 2009 08:14 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Wieso kannst du den Debugger bei SDL nicht verwenden? Also speziell bei Turbo Delphi sollte das problemlos klappen. [edit] okay. Vergiss das. Ich hab dein Thema gefunden. [/edit]

Aber ja. Ist richtig. Die Methode glGetString wurde vor dem 3.2er Header direkt bei InitOpenGL schon geladen was jetzt aber tatsächlich erst bei ReadExtensions bzw. ReadImplementationProperties geschieht. Da hatte ich auch ein klein wenig was umgestellt. Aber das soll man ja auch sowieso nicht vorher benutzen. ;) Aber ist ja schön, wenn es sich so schnell geklärt hat.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 16, 2009 14:46 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 04, 2008 21:29
Beiträge: 419
Wohnort: Lübeck
ist vielleicht etwas offtopic, aber gibt es mittlerweile eine Möglichkeit ohne Umwege über einen alten OpenGl-Context einen 3.x Context zu erstellen. Falls ja: ist diese Möglichkeit schon mit in dem Header untergebracht?

Edit: Ich sehe gerade, dass es wohl für Linux/Mac gehen sollte. Wie sieht es mit Windows aus?

_________________
Klar Soweit?


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 45 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.078s | 17 Queries | GZIP : On ]