Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3829 Wohnort: Tespe (nahe Hamburg)
Die Khronos Group hat heute bekannt gegeben, dass das vormals als OpenGL Next Gen geführte OpenGL nun als Vulkan veröffentlicht werden soll. Damit soll die Grafikschnittstelle an moderne Rechneranforderungen angepasst werden und unter anderem Multithreading besser unterstützt werden. Auch Berechnungsvorgänge die bisher als OpenCL geführt werden, sollen mit in die neue Generation einfliessen. Im Gegensatz zu Mantel steht mit der Khronos Group ein größeres Industriekonsortium hinter der Grafikschnittstelle und es wird wie gewohnt plattformunabhängig sein. Für Interessierte wird es entsprechend eine interessante Zeit werden und ein Blick in die Spezifikation wird sich sicherlich lohnen.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
*aufs datum schau*. Hmne. Nadann. Ich bin bei OpenGL 3 schon überfordert
viele Grüße, Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my 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
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich verfolge Volkan schon seit gut nen halben Jahr aber unter dem Arbeitstitel GLNext. Frostbite, Oxide, Epic,NVidia und diverse andere Quellen haben ja immer wieder darüber Details des aktuellen Standes genannt. Da ich mit OpenGL 4.5 schon echt frustriert bin, weil ich ein Shader, Textur, Vertex Objekt habe und dann noch ein Index Buffer und Uniform Buffer Objekt, sowie diverser kleiner anderer Objekte und Helfer brauche um diese Effizient zu verwalten und auch das Compute und Shader Konstrukt recht unnatürlich daher kommen. Bin ich froh, dass Volkan genau diese Probleme an geht. Compute und Shader werden unter den aktuellen OpenCL VM/Compiler zusammen geführt und statt vieler verschiedener Objekte hab ich Speicherblöcke dessen verhalten und Inhalt ich selber bestimmen kann.
Die API wird wesentlich kleiner und sich mehr wie eine Programmiersprache anfühlen. Es wird damit auch nicht mehr für Anfänger, sondern nur noch für Fortgeschrittene ein Thema sein und die ohnehin schon existierenden 3D API Wrapper werden schneller und mehr genutzt werden. So meine Einschätzung.
Frostbite hatte mit Battlefield 4 schon gezeigt, dass es sich lohnt. Denn man kann Sound, Physik und Grafik auf der GPU machen, die Resourcen sharen und man hat mit Mantle immer noch 10-15% mehr FPS bekommen.
ARM hat z.B. in ihren OpenGL ES Treibern Raytracing und Sparse Voxel gepackt, um Raytraced Shadow und Reflection innerhalb der normalen OpenGL Pipeline zu nutzen. Man hat also normale OpenGL Render Befehle und intern werden die Triangle über Sparse Voxel noch zusätzlich verarbeitet und können dann in zusätzlichen API Extension für Raytraced Shadow, Reflection, Alpha verwendet werden. Das über OpenCL und GLSL zu lösen ist nicht mehr in Echtzeit möglich auf den Mobile Chipsätzen aber auf Desktop Karten geht das schon. Mit Vulkan kann man das auch selber realisieren.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
*aufs datum schau*. Hmne. Nadann. Ich bin bei OpenGL 3 schon überfordert
Irgendwie ist OpenGL 3.x fast einfacher zu verstehen als OpenGL 1.x .
Da man Shader und Vetex-Objecte und auch Matrixen selbst macht, versteht man eher was in der GPU passiert. Beim alten OpenGL schickte man alles in die GPU und es kam was auf dem Bildschirm, aber was passierte da ?
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Das ist nicht das "Problem", was ich mit GL 3 habe. Das Problem sind eher die Dinge wie VAOs, UBOs, …
viele Grüße, Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my 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
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Vulkan war der Schritt der absolut nötig war. Bin mal gespannt was bei der morgigen Präsentation auf der GDC rund kommt. Leider wird wohl nichts gestreamt. Ich hoffe die üblichen Verdächtigen twittern
OpenGL ist ja ganz schön in die Jahre gekommen und stammt aus einer Zeit in der GPUs noch ganz anders tickten. Die ganzen Dinge die man dann v.a. in letzter Zeit probiert hat (AZDO ftw, das mach ich grad mit C++11 und schreibe Code jenseits von Gut und Böse ) sind schon teilweise sehr starker Tobak und absolut nichts mehr für Einsteiger.
Da ist so eine schlanke neue API ohne viel Overhead genau der richtige Weg. Und die ganzen IHVs und Engine-Entwickler (Source, Unity, UE, etc.) sind auch alle mit an Board. Wenn das dann auch zeitgleich für mobile kommt (geht ja auf allen Geräten die ES 3.1 können) und auch für das Web wird das ein echter Gamechanger.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
mathias hat geschrieben:
Kann ich mit Vulkan alles vergessen, was ich jetzt in OpenGL 3.3 begriffen habe ?
Eigentlich ja, es wird halt alles über Commandbuffer gehen. Das ist dann v.a. für Multithreading sehr schön. Geht teilweise schon mit GL 4.4+ (Stichwort "bindless graphics") nur halt nicht so schön wie in Vulkan.
mathias hat geschrieben:
So wie es aussieht, passiert alles auf C++11.
Das hat ja nix mit Vulkan zu tun. Das wird weiterhin wie OpenGL einfach nur eine C-API mit ein paar Funktionen, die sehr stark an AMDs Mantle angelehnt sind. Ob man das dann mi Delphi, C, C++ (98, 11, 14, etc.) verwendet ist schnuppe, abgesehen von der Performance.
Ich habe gerade gelesen, dass OpenGL auch noch weiter gepflegt/ entwickelt werden soll. Es soll sogar unter Umständen sinnvoller sein, mit OpengGl zu arbeiten. Weiß jemand wo? -außer bei Bestandsprojekten, die nicht mehr angefaßt werden- Quelle :
Zitat:
Für OpenGL und OpenGL ES bedeutet dies aber keines Wegs das Aus. Da sie weit verbreitet sind und für bestimmte Zwecke besser geeignet sind als Vulkan, werden sie auch weiterhin gepflegt und weiterentwickelt.
Zuletzt geändert von Jens01 am Do Mär 05, 2015 00:17, insgesamt 2-mal geändert.
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
Hab ich auch gerade von einer anderen Quelle(PC Hardware) gelesen. Valve will morgen/heute(5.März) Vulkan vorstellen, vieleicht erfahren wir da mehr.
WebGL2 nutzt z.B. OpenGL ES3.1 und wenn du Emscripten und WebGL2, sowie WebCL verwenden willst, dann kommst nicht um OpenGL ES3.1 herum. Für OpenGL fällt mir kein Grund ein, ausser NV und AMD wollen keine XP Treiber für Volkan bereit stellen aber bisher haben die auch OpenGL4.4 Treiber für XP. Vieleicht ist mit "pflege" auch nur der Support gemeint, bin mal gespannt was die GDC so bringt und wann die Videos und Präsis in GDC Vault verfügbar werden.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Mi Aug 14, 2013 21:17 Beiträge: 588
Programmiersprache: C++
Weiß man schon, auf welcher Hardware das laufen soll? Mantle wird ja nur von den neuesten AMD-GPUs untersützt, Direct3D 12 wohl auch. Ich weiß nicht, ob diese Limitierungen technisch oder rein politisch bedingt sind. Wenn es andererseits heißt, Kompatibilität mit OpenGL ES 3.1 reicht, müsste dann nicht auch jede (5 Jahre alte) OpenGL 3.1-Grafikkarte gehen?
Wann es dann Treiber für alle Plattformen gibt, ist dann nochmal eine andere Frage. Mesa ist ja immer noch nicht bei 4.0 angekommen (und ich auch nicht...).
_________________ So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)
Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3829 Wohnort: Tespe (nahe Hamburg)
Ich würde momentan davon ausgehen, dass die Grafikkarten der letzten Jahre problemlos laufen werden. Es liegt halt auch im ureigensten Interesse, dass man möglichst großes Publikum schnell erreicht und es sitzen ja diesmal nicht nur AMD und NVIDIA drin. Auch rechne ich damit, dass es sehr fix Treiber für z.B. Linux geben wird. Gerade Nvidia ist da oft fixer als unter Windows und hat "plötzlich" wesentlich früher als angenommen Unterstützung drin. Das ganze ist halt auch politisch Interessant, da es ein Generalangriff Richtung D3D ist. Die verfolgen von Mantel getrieben ja mit DX12 auch ähnliche Ansätze und wollen ja bis zum Handy hin eine einheitliche Platform schaffen. Während es in deren Reihen aber rumort, weil man kein Windows 7 mehr unterstützen will, käme da eine echte alternative offene Schnittstelle, die es dann auch für Windows 7 gibt sicherlich einigen Herstellern sehr recht. Ich wüsste zumindest wo ich drauf setzen würde, wenn ich nun ein neues Projekt starten würde. Mal sehen wie MS nun auf die Ankündigung reagiert.
Mit den Bindings für andere Sprachen wird es sicherlich einen Tick länger dauern, aber ich würde mir da auch nicht all zu viele Sorgen machen. Gerade wenn die Schnittstelle schlanker wird, wird das eher leichter als schwerer. Bin selbst natürlich auch skeptisch, dass man nun wieder anfängt neu zu lernen. Werde da aber abwarten bis ich wirklich weiß, was man dort verbrochen hat. Die Veränderungen klingen soweit alle wirklich super und können der Schnittstelle zu einem guten Start verhelfen. Keine Panik. Die Hobbyisten müssen nicht immer zwingend ganz vorne dabei sein... also weiter machen wie bisher und beobachten
_________________ "Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
Zu den Fragen gibt es tatsächlich schon konkrete Antworten. Vulkan setzt mindestens OpenGL ES 3.1 fähige Hardware vorraus. 3.1 entspricht in etwa OpenGL 4.0 also die GF5xx Reihe und R2xx Reihe können das(ausser das Texturformat ASTC). NV bietet in ihren SDK auch immer die ES3.1 Variante zu den OpenGL 3-4 Demos für Desktop(NV liefert ein Treiber/Wrapper von ES3.1 auf GL4). https://www.khronos.org/vulkan dort bei "Vulkan Status".
Imagination hat bereits eine Techdemo auf Youtube und Valve will heute was vorstellen und NV hat letzte Woche an normale Entwickler Umfragen geschickt, wo explitiz gefragt wurde wie sehr man an GLNext im vergleich zu DX und OpenGL interessiert wäre(hatte GLNext überwiegend gerated).
Im Asiatischen Markt sind die meisten Systeme, im Online Gaming, Windows XP Systeme aber haben schon OpenGL 4 fähige Grafikkarten. Daher setzen Firmen auf OpenGL, wenn sie auf den Asiatischen Markt wollen, damit sie möglichst viel aus den fähigkeiten der GPU holen können. Windows XP hat kein DX 11 oder 12 Support, weil man ja die API gegen das Aero Desktop Managment geschrieben hat, was es nicht in XP gibt. Böse Zungen behaupten, MS wollte einfach nur die Leute auf Windows 7,8,10 treiben.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Mi Aug 14, 2013 21:17 Beiträge: 588
Programmiersprache: C++
TAK2004 hat geschrieben:
3.1 entspricht in etwa OpenGL 4.0 also die GF5xx Reihe und R2xx Reihe können das
Das meine ich. R2xx ist ja noch relativ neu. Ich habe noch eine Radeon HD 5670 (ziemlich genau 5 Jahre alt), die aber schon OpenGL 4.4 kann. Bei Nvidia gibt's GL4-Support afaik ab der 400er-Reihe. Die Frage ist halt, ob es für all diese GPUs Vulkan-Support geben wird.
_________________ So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)
Mitglieder in diesem Forum: 0 Mitglieder und 9 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.