[quote]
MarCreative schreef op woensdag 07 mei 2008 @ 12:47:
Mede tweakers,
Ik loop al enige tijd met de vraag: Waarom worden bijna alle spellen in DX10 geschreven en niet in OpenGL? Als ik het bekijk (zoals nu) is OpenGL gewoon een veel slimmere keuze, namelijk:
Cross platform? Op de PC ja. Lekker boeiend. Als je het over cross-platform games hebt, dan gaat dat in 99.999% van de gevallen niet over games die naast Windows ook op Linux en OS X draaien, maar om games die ook op de consoles van MS, Sony en Nintendo draaien. En die doen geen van allen OpenGL. Daar sta je dan met je zogenaamde cross platform API

. Daarnaast is het koppelen van de backend van je renderer met een API wel met minste werk van het porten van een game, zeker gezien de gelijkenis van de APIs (logisch, want ze spreken dezelfde hardware aan). En op een console wil je sowieso platform-specifieke optimalisaties maken, waarbij je vaak ook nog eens direct de hardware aanspreekt en de API alleen nog gebruikt voor wat handige functionaliteit.
[q]• Open-Source
Er is niets open
source aan OpenGL. Open != open source.
[q]• Ziet er mooier uit -> Mening, maar opzich wel een feit.
Een feit

Klinklare onzin

. Het is een API om hardware aan te sturen. Direct3D is een vergelijkbare API dat exact dezelfde hardware aanstuurt. De hardware zorgt voor het plaatje.
[q]• Snelhied <- Kan ik niet onderbouwen, is denk ik gevoel.
Op Windows klopte dat enigszins. Op XP en voorgaande Windowsen is de weg van API naar GPU onder OpenGL wat korter dan onder Direct3D. Hardware fabrikanten komen meestal met een driver die direct OpenGL ondersteunt (e.g., je vervangt de opengl dll). Als je een Direct3D implementatie wilt maken dan maak je effectief een back-end voor D3D. Er zit dus een extra abstractielaag in. Onder Vista gaat dat verhaaltje echter niet meer op.
Dus waarom niet OpenGL?
Omdat OpenGL achter de feiten aanloopt en extensions een hel zijn om tegenaan te programmeren. Het voordeel dat je direct nieuwe features van hardwarefabrikanten kunt gebruiken is direct ook het nadeel - vergelijkbare features gebruiken voor verschillende vendors ook verschillende extensions die allemaal net iets anders werken, totdat er een log apparaat als de ARB eroverheen is gegaan om het te standaardiseren.
Er is 1 heel groot voordeel om voor Windows Direct3D te verkiezen boven OpenGL, en dat is support, documentatie en development tools. Heeft OpenGL een shader debugger? Heeft OpenGL een analyser zoals
PIX? Hell, heeft OpenGL eigenlijk sowieso een standaard shader taal en compiler? Nee, nee en nee. Het is volledig afhankelijk van de community die dat soort tools aanleveren.
[
Voor 7% gewijzigd door
.oisyn op 08-05-2008 00:33
]