Misschien moet je je toch eens beter inlezen, dan zó ongefundeerd kritiek te uiten op OpenGL. Waaruit blijkt volgens jou dat OpenGL jarenlang achter de feiten aanloopt?
Misschien moet je niet zo snel oordelen.
Ik ontwikkel al jarenlang Direct3D en OpenGL-software, ik weet echt wel waar ik het over heb.
Je kunt wat ik zeg simpel verifieren: Pak wat OpenGL-versies, en leg hun features naast die van Direct3D, zul je zien dat Direct3D vrijwel altijd eerder is.
Een voorbeeldje: Geometry shaders:
Geintroduceerd in Direct3D 10, tegelijk met Windows Vista in november 2006.
Eerste OpenGL extensie:
http://www.opengl.org/reg.../ARB/geometry_shader4.txt
Juli 2008.
Pas in OpenGL 3.2 werd het in de core opgenomen: augustus 2009.
Of de tessellation shaders van Direct3D 11, tegelijk met Windows 7, juli 2009.
OpenGL extensies:
http://www.opengl.org/reg...B/tessellation_shader.txt
Maart 2010.
Dit is algemeen bekend.
Sinds OpenGL 4 loopt het allemaal weer goed en is het min of meer toch weer een API-war aan het worden.
Niet echt.
Microsoft zag gewoon tijdig in, dat gamen een belangrijke beslisfactor is voor consumenten, dus moesten ze daar iets voor maken. Dat werd een gesloten API, direct3d.
Ja, dat roept het OpenGL-kamp graag, maar daar is niks van waar.
Direct3D was een hardware-onafhankelijk alternatief voor de vendor-specifieke oplossingen als Glide en PowerSGL.
OpenGL speelde in die tijd nog geen rol, want dergelijke consumentenhardware was niet geavanceerd genoeg om de OpenGL-functieset te ondersteunen. Er waren dan ook geen OpenGL-drivers voor.
Pas in 1997 kwam OpenGL-gaming op Windows op gang, en dat nog op een hele vreemde manier ook: Carmack releaset GLQuake, terwijl hij weet dat er eigenlijk geen hardware op de markt is die het draait. Ik quote de GLQuake readme:
Theoretically, glquake will run on any compliant OpenGL that supports the
texture objects extensions, but unless it is very powerfull hardware that
accelerates everything needed, the game play will not be acceptable. If it
has to go through any software emulation paths, the performance will likely
by well under one frame per second.
At this time (march ’97), the only standard opengl hardware that can play
glquake reasonably is an intergraph realizm, which is a VERY expensive card.
3dlabs has been improving their performance significantly, but with the
available drivers it still isn’t good enough to play. Some of the current
3dlabs drivers for glint and permedia baords can also crash NT when exiting
from a full screen run, so I don’t recommend running glquake on 3dlabs
hardware.
3dfx has provided an opengl32.dll that implements everything glquake needs,
but it is not a full opengl implementation. Other opengl applications are
very unlikely to work with it, so consider it basically a “glquake driver”.
Vanwege GLQuake kwamen er dus MiniGL drivers, en pas veel later kwamen er volwaardige OpenGL-drivers voor Windows (rond het nVidia TNT-tijdperk grofweg). Direct3D bestond toen al jaren, en had al een aantal nieuwe versies achter de rug.
Om dan te gaan roepen dat Direct3D Microsoft's antwoord is op OpenGL, geeft alleen maar aan dat je totaal geen idee hebt waar je over praat.
Direct3D was in eerste instantie op een compleet andere markt gericht dan OpenGL. In de loop der jaren zijn ze naar elkaar toe gegroeid.
Om het stukje API-wars even aan te wakkeren, bij de introductie van tesselation in direct3d, was dit al 3 jaar lang ingebouwd als extensie van opengl. Zo ver liepen ze 'achter' bij OpenGL (niet dus!).
Da's ook een gouwe ouwe uit het OpenGL-kamp, waar ook weer weinig van klopt.
'Tessellation' is een vrij breed begrip. Direct3D 8.1 had al een vroege vorm van tessellation in de vorm van N-patches en RT-patches (vooral bekend van ATi's Radeon 8500 met 'TruForm').
Die primitieve vormen van tessellation waren echter nooit een succes. Direct3D 11 introduceerde een flexibele, programmeerbare vorm van tessellation. Totaal niet te vergelijken met die vroege vendor-specific extensions die er toevallig voor OpenGL waren (van ATi dus, die na TruForm nog even verder is gegaan, maar nooit iets bereikt heeft ermee).
De eerste programmeerbare vorm van tessellation is degene die ik noemde, en dat is wel degelijk een kloon van de technologie die eerder al in Direct3D11 geintroduceerd was.
Kortom, wat je schrijft lijkt nergens op gefundeerd te zijn, anders zou het misschien een aardig idee zijn om een paar bronnen te publiceren bij je verhaal, die onderstrepen dat OpenGL achterloopt en altijd achter heeft gelopen.
Oei, je bent wel zeker van jezelf

Na deze post waarschijnlijk niet meer