|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
[Windows estremo]Renderizzare triangoli usando direttamente il driver
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 ![]() 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 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, 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 C'è qualche uber-esperto in giro che mi sa dare qualche direzione? O almeno un link a un forum internazionale dove lo sanno
Ultima modifica di Tommo : 29-01-2013 alle 11:36. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
*iscritto, questo interessa anche a me.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Ho trovato questa reference che contiene tutte le funzioni che devono essere esposte dal driver per essere compatibile col livello di D3D richiesto (9, 10, 10.1, 11, 11.1)
La buona notizia è che disegnare un triangolo è quasi uguale a come si fa con D3D, la cattiva è che st'interfaccia mi pare la copia sputata di D3D... quindi non abbastanza "low level" da implementarci GL senza "attriti", forse. Anche se mi sa che bisognerebbe solo che provarci. Ultima modifica di Tommo : 29-01-2013 alle 13:29. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2008
Messaggi: 429
|
interessante ANGLE, un wrapper OpenGL su DirectX, praticamente come nGlide per le Glide 3fdx
bisognerebbe fare qualche benchmark per verificare la bontà del wrapper |
|
|
|
|
|
#5 | |||
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
C'entra na mazza con il topic, ma leggendo questa notizia non ho potuto fare a meno di rizzare le antenne quando mi sono imbattuto in questo passaggio circa Direct3D:
Quote:
Quote:
Quote:
http://code.google.com/p/angleprojec...Implementation Altri indizi li puoi trovare spulciando la pagina degli "Issues" cercando tra i "Defect" il cui stato è "Started"...
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 01-02-2013 alle 10:27. |
|||
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
|
Mi iscrivo perché interessa anche a me..
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza" |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:53.




















