PDA

View Full Version : Perchè escono + giochi in directx che in opengl?


giova22
31-12-2003, 15:25
Ciao a tutti.

Questa è una domanda che mi pongo da molto tempo.

Come mai escono molti + giochi in directx che in opengl?

In fondo d' accordo che le open gl sono equivalenti alle direct x 8.1 (a livello di pixel e vertex shaders), ma tanto praticamente ancora nessuno usa le diretx9. O se le usa solo in minima parte.

Inoltre le opengl sono completamente free, mentre per le direct x bisogna pagare delle royalities.

Spero possiate chiarire questo mio dubbio.

Ciao

TheRipper
31-12-2003, 15:28
Perche' le opengl sono piu' difficili da programmare.

giova22
31-12-2003, 15:32
Ah è semplicemente questo il motivo?

Io pensaavo chissa quali accordi tra software house ecc.

Grazie

MrAsd
31-12-2003, 15:45
Originariamente inviato da TheRipper
Perche' le opengl sono piu' difficili da programmare.

Al contrario: sono piu' semplici.
Pero' le directx offrono molte cose utili che rendono la vita piu' comoda ad un programmatore, non sono soltanto api grafiche ma offrono anche un metodo abbastanza comodo per accedere alle schede sonore, ai dispositivi di puntamento... e nella maggior parte dei casi le performance con le schede video moderne sono migliori con le directx soprattutto per una questione di driver.

TheRipper
31-12-2003, 15:48
Al contrario: sono piu' semplici.
Nono...lo dice Carmack stesso che sono piu' difficili soprattutto perche' non hai aiuti esterni e devi programmarle direttamente.
Invece per le directx sei supportato dalla microsoft che puo' offrirti assistenza e tool per accedere alle varie funzionalita'...
Ergo e' piu' semplice programmare un gioco in direct-x che in opengl.

azrael
31-12-2003, 17:08
imbastire una scena con le openGL è + complesso che con le DirectX. Mamma microsoft ha "regalato" una bella serie di oggettini già pronti che con una 10ina di istruzioni ti impostano una scena 3D con oggetti, luci e camera. Vedi te poi :D

MrAsd
31-12-2003, 18:05
Mi sembra giusto fare una distinzione: se parliamo delle api grafiche mi dispiace ma le opengl sono decisamente molto piu' semplici da utilizzare della relativa controparte (direct3d). Se invece guardiamo la situazione nel complesso, sono perfettamente d'accordo sul fatto che le directx abbiano varie chicche che semplificano parecchio la vita (ma non l'avevo gia' detto ?). Il punto e' che comunque i motori grafici migliori raramente si appoggiano in toto a tutte le funzioni e i toolset ad alto livello: normalmente si sviluppano tool e formati interni e poi si fa il rendering a video utilizzando le funzioni a piu' basso livello. *1
Il punto e' che ormai le directx si sono imposte come standard e la maggior parte dei produttori sviluppano driver compatibili directx nel piu' breve tempo possibile mentre rilasciano il supporto alle relative estensioni opengl molto in ritardo (quando lo fanno :rolleyes: ) e con una qualità complessiva su cui preferisco non esprimermi :p Il risultato e' che tanto, visto che comunque per sfruttare l'audio, i joypad, per il gioco in rete etc. etc. bisogna utilizzare le directx, alla fine si finisce per preferire quest'ultima per fare tutto.


*1: non entro nel merito delle lotte sui linguaggi ad alto livello per gli shader, tra il cg di Nvidia, l'HLSL di microsoft lo shader language delle opengl 2.0 la guerra e' ancora aperta e non vorrei trovarmi in mezzo a qualche guerra di religione :sofico:

Keymaker
31-12-2003, 19:00
Perchè di mezzo c'è la Microsoft.

TheRipper
01-01-2004, 04:13
Bho...cmq a parte tutto spero proprio che l'OpenGl prenda veramente piede nel campo dei videogiochi...sarebbe la cosa migliore per tutti, in primis per noi utenti.

Yagami
01-01-2004, 09:30
Originariamente inviato da TheRipper
Bho...cmq a parte tutto spero proprio che l'OpenGl prenda veramente piede nel campo dei videogiochi...sarebbe la cosa migliore per tutti, in primis per noi utenti.

Te sogni :D

L'OpenGL non viene usato per la sua relativa complessità. Se programmato come si deve porta a risultati come quello di Quake3, motore che viene ancora ampiamente usato grazie alla sua leggerezza e la sua scalabilità con il sistema.

sider
01-01-2004, 12:47
Originariamente inviato da TheRipper
Bho...cmq a parte tutto spero proprio che l'OpenGl prenda veramente piede nel campo dei videogiochi...sarebbe la cosa migliore per tutti, in primis per noi utenti.

La tendenza è inversa...una volta c'erano + giochi programmati in OGL anche perchè le prime versioni delle DX facevano schifo (il responsabile della Microsoft era stato pure licenziato)
Le DX oramai sono "mature" da tempo ed i programmatori preferiscono queste ultime, per i motivi detti nei post precedenti.

BazookA
01-01-2004, 12:57
cmq sembra che microzoz abbia acquistato le ex librerie 'open'gl.
mi sa che d'ora in poi vedremo solo giohi in direct3d

TheRipper
01-01-2004, 13:15
cmq sembra che microzoz abbia acquistato le ex librerie 'open'gl.
mi sa che d'ora in poi vedremo solo giohi in direct3d

A me sembra invece ce la trattativa sia bella che saltata e meno male...
Cmq quella espressa da me nei post precedenti sarebbe solo una speranza, per quanto vana...Spero solo che carmack continui cosi' a fare stupendi motori, ma soprattutto spero che altri lo seguano, perche' solo cosi' avremo veramente liberta' di scelta di SO e Piattaforma, visto che i giochi opengl potrebbero girare potenzialmente sia su Linux che su Mac tranquillamente...cosa che a micro$oft farebbe rodere non poco.

giova22
01-01-2004, 13:58
Importante infatti è non dimneticare che l' opengl è compatibile con linux, facilitando i porting anche a piattaforme non win. Directx invece........

Emopunk
01-01-2004, 14:50
Originariamente inviato da BazookA
cmq sembra che microzoz abbia acquistato le ex librerie 'open'gl.
mi sa che d'ora in poi vedremo solo giohi in direct3d

Dannazione...
:muro: :muro: :muro:
Meno concorrenza=meno qualità

ominiverdi
01-01-2004, 16:34
Originariamente inviato da TheRipper
Nono...lo dice Carmack stesso che sono piu' difficili soprattutto perche' non hai aiuti esterni e devi programmarle direttamente.
Invece per le directx sei supportato dalla microsoft che puo' offrirti assistenza e tool per accedere alle varie funzionalita'...
Ergo e' piu' semplice programmare un gioco in direct-x che in opengl.

microzozz fa di tutto pur di facilitare la vita ai programmatori, d'altra parte se non lo facesse e se le directx non esistessero, microsozz potrebbe perdere quote di mercato perche' i giochi opengl potrebbero girare anche su linux con le opportune modifiche

non oso immaginare l'impennata di base installata linux se tutti i giochi fossero disponibili anche per il pinguino, migrazioni di massa
:D

il fatto della complessita' fa un po' ridere, alcune consolle non sono certamente facili da programmare ma quello che conta e interessa alle soft house sono gli introiti, se i programmatori devono dannarsi di piu' nel loro lavoro poco importa :sofico:

oltretutto e' certo e comprovabile che non esistono accordi commerciali fra microsozz/directx e produttori di schede video/soft house?

TheRipper
01-01-2004, 16:41
non oso immaginare l'impennata di base installata linux se tutti i giochi fossero disponibili anche per il pinguino, migrazioni di massa

Io sare il primo!:sofico:

Cmq a parte tutto...avete visto che strano? Kotor e' una conversione da X-Box (percio' direct-x) ma su pc gira in opengl.
Speriamo bene...:sofico:

giova22
01-01-2004, 16:51
Ma come si possono comprare le open gl?

Non penso sia possibile.

In tal caso a chi andrebbero i soldi visto che l' open source non è di nessuno?

R@nda
01-01-2004, 16:53
Mi sembra che la spiegazione sia molto più semplice di come è stata descritta fino ad ora,nelle OpenGL fino alla versione 1.4 mancava il supporto ai Vertex/Pixel Shader programmabili.
Ecco perchè i giochi in OGL sono diventati meno e sono rimasti indietro.

Con la Versione 1.5 (uscita da pochissimo) la situazione è migliorata ancora andando ad eguagliare (in parte) quello che riguarda nella controparte DX9 la programmabilità delle Gpu di ultima generazione.
Adesso stanno lavorando alla versione 2.0

Insomma mentre per le DX9 ci lavora direttamente Microsoft con
il supporto degli altri sviluppatori....e quindi le modifiche e le evoluzioni alle librerie avvengono molto velocemente.
Per le OpenGL non è così,essendo le librerie opensource tutte le modifiche vengono fatte dall'ARB (se non sbaglio) un gruppo (grosso)di programmatori e collaboratoi....e le modifiche richiedono perciò molto più tempo per essere messe in atto.

Tutto qui:)

Aggiungo....io di programmazione non ne so una cippa,tutte queste informazioni le leggo in rete x vari siti.