Wat ik niet snap is dat OpenGL 4 een DirectX 11 compatible videokaart nodig heeft!?
Nee, OpenGL 4 heeft een GPU nodig die de DX11 featureset ondersteunt. Wat op zich niet raar is als OpenGL 4 dezelfde functionaliteit wil aanbieden die DX11 ook aanbiedt.
Gebruikt Kronos vanaf nu gewoon de hardware die vereist is voor DirectX 11?
OpenGL gebruikt altijd al de hardware die vereist is voor DX. Andersom ook. Vergeet niet dat zowel OGL als DX een abstractielaag zijn voor hardware. Het is "alleen maar" een gestandaardiseerde interface om GPU hardware aan te spreken. Alle DX11 hardware heeft dezelfde functionaliteiten wat betreft tesselation. Oudere hardware heeft deze functionaliteit nodig. Als een GPU dus verplicht tesselation nodig heeft voor OpenGL 4.0 is het dus ook altijd een DX11 GPU.
Maar hoe wordt deze hardware dan aangesproken? Via DirectX11 specifieke hardware en software paden?
Via calls naar een gestandaardiseerde interface (de openGL interface dus) die door de drivers wordt omgezet naar hardware-specifieke commando's. Dit is ook hoe DX heel simpel gezegd werkt.
Of moeten drivers OpenGL4 ondersteuning inbouwen?
Uiteraard, maar zo heeft het altijd al gewerkt. Bij OpenGL 3 duurde het ook even voor er driversupport was vanuit NVIDIA en AMD. Eerst wordt de interface gespecificeerd, vervolgens bouwen geinteresseerde bedrijven support in in hun drivers. Vergeet niet dat OpenGL eigenlijk alleen een interface is. ER is een hardwarespecifieke implementatie nodig die die interface calls omzet naar hardware aansturing. Dat zal elk hardwarebedrijf zelf moeten gaan schrijven voor hun eigen platformen (net als bij DX overigens)
Verder is DirectX11 vrij specifiek over over de harwdare en technieken en ook de paden, betekend dit dat OpenGL4 op ongeveer dezelfde methodologie bouwt als DirectX11?
Ja, op dit moment (en eigenlijk vanaf DX9) loopt OpenGL achter op DirectX. Dit betekent dat een groot deel van de features die nu toegevoegd worden en die toegevoegd zijn in de laatste paar OpenGL versies "overgenomen" of afgekeken zijn van DirectX. Microsoft heeft het de laatste jaren heel goed aangepakt op dit gebied en heeft met NVIDIA en AMD harde afspraken gemaakt over de toekomst van de GPU. OpenGL loopt daar op dit moment nog een beetje achteraan. Het idee is echter wel dat met versie 4.0 OpenGL weer gelijk gaat lopen met DX. Of dat gaat lukken is nog maar de vraag, het vertrouwen in OpenGL heeft een flinke klap gehad na al het rare gedoe rond OpenGL 3.0.
Ja, op dit moment (en eigenlijk vanaf DX9) loopt OpenGL achter op DirectX. Dit betekent dat een groot deel van de features die nu toegevoegd worden en die toegevoegd zijn in de laatste paar OpenGL versies "overgenomen" of afgekeken zijn van DirectX.
Ik herhaal het nog maar eens, maar dit is echt complete onzin, en het wordt niet extra waar als het maar vaak genoeg herhaalt wordt hier. OpenGL loopt helemaal niet achter in termen van wat je met de hardware kunt doen. Sterker nog, OpenGL loopt zelfs voor op DirectX, omdat vendors bij OpenGL extensies kunnen toevoegen voor de allerlaatste hardware features, waar ze bij DirectX moeten wachten tot Microsoft zijn API's update.
Het enige waarop OpenGL 'achter loopt' is het integreren van zulke extensies in de features die vereist zijn voor een bepaalde versie van de API, waardoor programmeurs voor de meest geavanceerde features soms wat extra werk moeten doen, omdat de ATI tesselation extensie bijvoorbeeld net iets anders werkt dan de Nvidia tesselation extensie.
Praat eens een keer met een echte OpenGL ontwikkelaar en vraag hem wat hij vindt van de "Extension Hell" Leuk als je even een game wilt schrijven en tientallen verschillende extensies moet gebruiken die op alle platformen weer anders werken en tussen verschillende hardware weer anders werken. Wat MS met DX10 heeft gedaan was het hele caps systeem uit DX9 er uit gooien en heel hard definieren wat een GPU wel en niet moest kunnen. Alle ontwikkelaars waren hier dolblij mee (en terecht). Moet je nagaan hoe erg dit is bij OpenGL.
Een feature is pas echt een feature als het in een release officieel ondersteunt wordt.
[Reactie gewijzigd door Snoitkever op vrijdag 12 maart 2010 11:32]