@Haikarainen: Problemet med OpenGL är att det i teorin finns två olika (OpenGL samt OpenGL ES), men i praktiken så är det ett OpenGL per hårdvarutillverkare och plattform pga drivrutinssituationen. Min förhoppning är att Vulkan INTE blir dödat av spel-specifika hack i drivrutiner och därmed blir en stabilare och mer attraktiv plattform att utveckla för.
ES är ju i princip bara en slimmad variant av modern OpenGL, menat för inbyggd hårdvara. Som utvecklare kan jag glatt säga att sålänge du kodar efter specifikation så är det sjukt enkelt att hålla ett OpenGL projekt crossplattform. Jag utvecklar och testar just nu för AMD & NVidia under Windows & GNU/Linux, dom buggarna jag får som bara sker på en av GPU-erna visar sig alltid bero på att NVidia tillåter väldigt mycket som det inte borde.
Exempelvis så glömde jag sätta Z och W koordinaterna i ett GPU program för textrendering, NVidia tillät detta genom att defaulta dem till 0 (ger overhead, inte strikt per specifikation), medans AMD helt enkelt hade kvar var som var i minnet sedan tidigare (inget overhead, undefined behaviour och det som förväntas per specifikation), hade NVidia istället skitit i dessa "hacks" i GL implementationen och strikt följt OpenGL-specifikationen så hade jag upptäckt problemet tidigare och kunnat fixa detta. NVidia har väldigt många hacks som dessa (och betalar spelutvecklare för att använda dem), och dom vinner på det genom att spel då körs bra på Nvidia hårdvara men dåligt på AMD (som följer opengl specifikationen till punkt och pricka). Detta gör att spelarna uppfattar AMD som buggigt/dåligt när det i verkligheten är NVidia som kör fulspel och inte följer OpenGL specifikationen.
Vill ni klaga på något så är det inte Khronos, Microsoft eller AMD ni ska klaga på, utan det är NVIDIA som är boven.
Nu blev det här lite väl långt och lite av en rant men jag tycker det är viktigt att säga. Du har såklart rätt och jag håller med dig om att Vulkan inte går samma öde till mötes, det är ju ett väldigt low-level API med en mycket striktare specifikation, så finns inte mycket luckor för hacks denna gången.
Dock är min teori att middleware kommer bli mycket vanligare (eftersom Vulkan/DX12 är väldigt kämpiga att utveckla mot), men det är en typ av fragmentering som jag själv ser som rätt positiv.
Ja nog blir det kanske så, men personligen så tror jag att alla större spelmotorer/grafikmotorer/bibliotek kommer att implementera mot Vulkan direkt utan middleware. Misstänker att dessa middleware isf kommer användas främst av indy utvecklare.