Tommo
29-01-2013, 10:08
Di recente ho rilasciato un gioco che è stato distribuito a ~30000 persone, e ho fatto la scommessa di rilasciarlo in OpenGL anche per windows...
non l'avessi mai fatto :asd:
L'implementazione di OGL su win si è rivelata deludente esattamente come dicono, con crash assortiti anche su versioni piuttosto recenti dei driver e pure su schede video niente male.
e la goccia che ha fatto traboccare il vaso è stata la scoperta che Intel non supporta il vsync su *nessuna* versione della sua OpenGL, condannando al tearing un 70% dei pc :muro:
Ora, a me DX sta sui cosiddetti.
Mi importa poco della qualità dell'API in sè, ma sta evidentemente in mezzo alle scatole visto che GL va supportata per forza, e non c'è nessun motivo (teorico) valido per non poterla usare anche su win... ma invece a causa dei driver, ci obbliga a un doppio lavoro non indifferente (senza contare W(P)8 dove GL non è proprio supportata).
C'è gente (tipo, google) che reputa la situazione di GL su windows abbastanza triste da riscriverla usando DX (https://code.google.com/p/angleproject/), ma questo approccio ha ogni genere di attriti a runtime.
D'altra parte OpenGL deve essere implementata all'interno del driver dai produttori (spesso a cazzo di cane) mentre DX funziona sempre, anche se è implementata una sola volta da Microsoft sopra il Windows Display Driver Model 1.*
E mi chiedevo... non si potrebbe provare a implementare OpenGL allo stesso modo di come è implementata Direct3D, sopra WDDM e HAL?
In questa ottica, Direct3D è sostanzialmente una grossa utility library per la grafica 3D sopra il driver video.
Se è possibile, teoricamente dovrei poter disegnare qualche triangolo a schermo linkando direttamente l'interfaccia del driver, senza passare per DirectX, ma non ho trovato nemmanco una reference :read:
C'è qualche uber-esperto in giro che mi sa dare qualche direzione?
O almeno un link a un forum internazionale dove lo sanno :asd:
non l'avessi mai fatto :asd:
L'implementazione di OGL su win si è rivelata deludente esattamente come dicono, con crash assortiti anche su versioni piuttosto recenti dei driver e pure su schede video niente male.
e la goccia che ha fatto traboccare il vaso è stata la scoperta che Intel non supporta il vsync su *nessuna* versione della sua OpenGL, condannando al tearing un 70% dei pc :muro:
Ora, a me DX sta sui cosiddetti.
Mi importa poco della qualità dell'API in sè, ma sta evidentemente in mezzo alle scatole visto che GL va supportata per forza, e non c'è nessun motivo (teorico) valido per non poterla usare anche su win... ma invece a causa dei driver, ci obbliga a un doppio lavoro non indifferente (senza contare W(P)8 dove GL non è proprio supportata).
C'è gente (tipo, google) che reputa la situazione di GL su windows abbastanza triste da riscriverla usando DX (https://code.google.com/p/angleproject/), ma questo approccio ha ogni genere di attriti a runtime.
D'altra parte OpenGL deve essere implementata all'interno del driver dai produttori (spesso a cazzo di cane) mentre DX funziona sempre, anche se è implementata una sola volta da Microsoft sopra il Windows Display Driver Model 1.*
E mi chiedevo... non si potrebbe provare a implementare OpenGL allo stesso modo di come è implementata Direct3D, sopra WDDM e HAL?
In questa ottica, Direct3D è sostanzialmente una grossa utility library per la grafica 3D sopra il driver video.
Se è possibile, teoricamente dovrei poter disegnare qualche triangolo a schermo linkando direttamente l'interfaccia del driver, senza passare per DirectX, ma non ho trovato nemmanco una reference :read:
C'è qualche uber-esperto in giro che mi sa dare qualche direzione?
O almeno un link a un forum internazionale dove lo sanno :asd: