Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Anfang der Woche hat Khronos die finale Specs für OpenGL 4.4 veröffentlicht, und wir haben unseren Header entsprechend aktualisiert. Ihr findet ihn wie gewohnt auf der entsprechenden Wiki-Seite,
Unterstützt werden wie gewohnt Free Pascal (Windows, Linux, MacOSX) und Delphi (Windows, k.a. wie es hier mit MacOSX aussieht da dort ja FM genutzt wird).
Folgende Extensions sind neu in OpenGL 4.4. :
GL_ARB_buffer_storage
GL_ARB_clear_texture
GL_ARB_enhanced_layouts
GL_ARB_multi_bind
GL_ARB_query_buffer_object
GL_ARB_texture_mirror_clamp_to_edge
GL_ARB_texture_stencil8
GL_ARB_vertex_type_10f_11f_11f_rev
Ausserdem wurden noch ein paar Hinweise aus der Community berücksichtigt :
Neue Funktion zum Auslesen der Extensions für GL 3.0+ (Dank an Frenk)
Fehlende Funktionen für GL_EXT_direct_state_access hinzugefügt (Dank an Frenk)
cdecl für glXGetVisualFromFBConfig (Dank an Traude)
Wer also eine neue GPU bestitzt die vom Hersteller schon mit GL 4.4-Treibern versehen wurde (afaik bisher nur NVIDIA) kann ab jetzt also GL4.4 nutzen.
Feedback ist wie immer gerne gesehen, v.a. da Khronos im Vergleich zu GL 4.3 in ihren eigenen Headern einiges verändert hat und es dadurch diesmal beim Updaten etwas schwieriger war. Im Diff-Betrachter sieht dass zwischen 4.3 und 4.4. fast ganz rot aus
Registriert: So Aug 08, 2010 08:37 Beiträge: 460
Programmiersprache: C / C++ / Lua
Meine Erfahrung (zm. wenig Jahre, aber egal ):
Linux hat damit generell Probleme... (Ubuntu kriegt man damit überhaupt nicht zum Laufen, ohne eine Abzustellen, dazu gehören auch [*Füge Alphabet ein*]Ubuntu Distris)
Mac hab ich nicht (wäre schön wenn du mal meine Header, falls du Zeit hast, auf einem Mac Rechner testen könntest )
bleibt ja nur noch eines über...
Ist halt zm. nervig sich durch X Untermenüs klicken zu müssen um für ein Programm eine Ausnahme hinzuzufügen...
_________________ offizieller DGL Compliance Beauftragter Never run a changing system! (oder so)
Wenn ich das letzte Woche richtig gelesen hab, dann ist die NV extension, zum erhalten und nutzten der VRAM pointer, eines beliebigen Objektes, nun ARB. Die 2. große Neuerung ist das nutzen von Texturen ohne diese auf ein Texturslot binden zu müssen, was Theoretisch gesehen soviele Texturen zu lässt wie man Speicher hat. Letzlich ist die Wichtigkeit von Features für jeden anders, je nach dem was er so macht. So werden für einige auch ganz andere Neuerungen wichtig sein.
Allderings muss ich sagen, dass DX11.2 mit tiled resource OpenGL aktuell vorraus ist. Kann man hoffen, dass OpenGL 4.5 oder 5.0 recht zügig kommt und es enthält. http://www.youtube.com/watch?v=QB0VKmk5bmI Das ist aktuell DX11.2 ihr größtes Feature und auf Win8.1 und DX11.2 Fähigen Grakas limitiert. Ein weiteres Feature ist das neue Swap-Chain, was ich auch in OpenGL gerne sehen würde. Swap-Chain erlaubt mehrere Renderbuffer mit unterschiedlichen Auflösungen zu mergen, skalieren, unterschiedlichen Frameraten zu aktualisieren und einiges mehr. Das macht Sinn, wenn man UI mit Nativer Auflösung laufen lassen will und das Spiel selber in einer anderen Auflösung laufen lässt. Swap-Chain erlaubt dies ohne weitere FBO, Shader, GPU-Zeit, da das alles in der Hardware gegossen ist und nicht von den Shader Units gemacht wird.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Welche Version er haben soll. Das Problem was ich jetzt hab:
Ich würde gerne den DGL-Funktionen per Parameter sagen können welche Funktionen geladen werden sollen:
InitOpenGL(3,0);
Sodass dann nur die Funktionen ab v. 3,0 geladen werden. Könnte das vllt. in der nächsten Version implementiert werden? (hab leider momentan nicht genug Zeit das selbst zu tun...)
_________________ offizieller DGL Compliance Beauftragter Never run a changing system! (oder so)
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Was genau willst du denn machen? Nur Funktionszeiger ab Version x.y laden, oder (was die obige Funktion macht) einen vorwärtskompatiblen Kontext erstellen? Ersteres kann unser Header nicht.
Da schreibt er, dass es eine Alternative zu tiled resource in OGL4.4 gibt. Man kann 16k*16k Texturen Virtuell in den Speicher legen und werden OnDemand vom Speicher geladen(nvidia hat ne shadowmap demo mit gemacht).
Des weiterem gibt es ein Texturlademechanik, welche mehrere Texturen laden, binden und auch sauber per Hardware filtert. Dies ist praktisch, wenn man auf PTex setzen will, was der Trend der kommenden Generation sein soll. Hier ne AMD demo die noch die vorige Extension verwendet.
Interessant finde ich auch das neue Texturformat welches 10R 11G 11B aufgebaut ist und für HDR bzw. genauere Normalmap verwendet werden kann.
Interessant ist auch im Forcast, wo er glaubt, dass VBO, FBO und co mit der nächsten Version raus können, da man nun ressourcen direkt im shader zugreifen kann und kein binding mehr notwendig ist.
Update: Ich sehe gerade, dass man das alles ab GF400 verwenden kann. Schön, dass die die Karten so generisch designed haben, dass man nicht mehr die neuste Karte braucht ^^ Mit dem alten T&L basierten Karten wäre das ein Ding der unmöglichkeit gewesen.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Bin ja mal gespannt wann ATI nachziehen. NVidia haben ja nen passenden Treiber, und ATI haben jetzt (!) ne Beta vom 13.8er rausgebracht der 4.3 komplett (!) unterstützt :/
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Warum genau? Willst du die exe klein halten? Das wäre nämlich eine recht umfangreiche Änderung am Header, und dafür hab ich momentan nicht wirklich die Zeit.
Mitglieder in diesem Forum: 0 Mitglieder und 2 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.