1) Niet nodig, want we hebben OpenGL. Anders krijg je dat op Wine alles achterloopt, elke keer als MS een update doet. MS zou DirectX onder kunen brengen bij een organisatie als Khronos, als ze echt willen dat het op alle platforms draait.
OpenGL loopt nu ook achter bij iedere DirectX-update, dus wat dat betreft maakt het niks uit.
2) De standaarden zijn helaas niet bepaald duidelijk. Ze luisteren gelukkig steeds meer naar de gebruiker om in een volgende versie de limieten duidelijker te maken.
Begrijp dat Khronos twee doelen nastreeft bij haar standaarden: features mogelijk maken en portabiliteit. De features hebben toch de nadruk, want ze willen niet achter komen te liggen. Dat komt ook omdat het lastig is om een low-end GPU uit 2008 niet uit te sluiten.
Uhhh, ik weet niet wat voor excuusverhaal je nu probeert aan te voeren... maar OpenGL bestaat al langer dan DirectX, en nog steeds is het een puinhoop.
Dit gaat hem gewoon niet worden.
Daarnaast, misschien moet je je eens in DirectX verdiepen? Die hebben namelijk features en portability VEEL beter onder controle. Lees bv ook eens wat de gedachte achter COM is geweest:
http://www.alexstjohn.com...arly-direct3d-com-opengl/But as troublesome as COM was, it played an important role in the ultimate success of DirectX. COM provided a way for the API to evolve with rapid releases of new versions of the DirectX API without BREAKING the previous versions of DirectX and the games that depended on it. If Carmack had adopted Direct3D for Quake, his game would have run without modifications on DirectX 2 through to DirectX 9 all the way to Windows XP because every subsequent generation of DirectX which often included radical API changes from its predecessor would have recognized Quake as a DirectX 2 game and exposed only DirectX 2 API’s for it to use while newer games could use very different DirectX 9 API’s on new Windows OS’s without conflict. The COM architecture ensured that game developers who targeted DirectX could ship a game and forget about it, reaping profits from its sales years later even as the OS technology evolved rapidly and incompatibly with older games. This FEATURE of DirectX gave games that used it tremendous longevity without requiring constant maintenance at the expense of more work initially. That tradeoff wasn’t ideal but also was not without its advantages. The need for constant backwards compatibility hamstrung the evolution of open API’s like OpenGL that had to try to maintain backwards compatibility over generations at the expense of innovation which is why OpenGL support remains such a scattered and inconsistently supported API across platforms and devices to this day.
Wat hij zegt over DirectX2 is trouwens waar... sterker nog, het gaat verder dan de Windows XP die hij noemt.
Een tijdje geleden heb ik namelijk m'n oude PowerVR PCX2-kaart eens uit het stof getrokken, en wat van m'n oude Direct3D-code erbij gesleurd... Heb een roterend donutje erop gemaakt, met DirectX2 dus, eerste versie met D3D:
http://bohemiq.scali.eu.org/D3DDonut.zip
Dat draait dus op een Win9x-machine (voor de PowerVR heb je alleen Win9x-drivers... en geen OpenGL support natuurlijk), met de eerste generatie hardware.
Maar, het draait nog steeds op mijn Windows 8.1 Pro x64-machine.
Dankzij COM dus, en het feit dat ze niet alle verschillende versies in dezelfde interface proberen te proppen.
[Reactie gewijzigd door Verwijderd op 23 juli 2024 06:14]