|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
[C++]Librerie grafiche
Ciao,
lo so, in questo periodo sto prendendo troppe inizative Ma c'è una cosa che è da tempo che cerco bene di capire girando su internet: come posso creare videogiochi? So che ci sono le OpenGL (che sono multipiattaforma) e le Direct (solo per Windows) oltre a un sacco di altre librerie grafiche (tra cui mi incuriosiva: http://gdk.thegamecreators.com/ va che grafica!!! anche se so che ci vogliono anni per riuscirci!!! Ora mi pongo 2 domande principalmente: - programmo in C++ o in C#? So che di solito si usa il C++ per le librerie grafiche, mentre non so neanche se ce ne sono altre oltre alle direct (almeno penso) supportate dal C#!!! - che librerie grafiche uso? Infinite grazie per l'aiuto e il continuo supporto che mi state dando da quando mi sono iscritto. Ciao!!! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
|
Diciamo che lato Personal computer il mondo si divide in due come hai detto tu:
- OpenGL - DirectX OpenGL è cross-platform mentre DirectX no. Il GDK che hai segnalato tu è solo un "layer" costruito sopra le DirectX, quindi non lo prendo in considerazione (per adesso). Entrambe possono essere progammate in tutti i linguaggi. Diciamo che entrambe sono un-managed, quindi se le vuoi usare su C# devi prima wrapparle in del codice managed. Se questa ultima frase non l'hai capita è bene che chiedi Per esempio puoi programmare le OpenGL anche in Java, ma ti devi scricare il "wrapper" JOGL. Questo però è la strada lunga, ma forse anche più soddisfacente. Altrimenti si può andare in modo molto più semplice con engine e toolkit già precostituiti. Per il mondo Microsoft consiglio vivamente XNA: un ottimo punto di partenza. In questo senso puoi usare anche il GDK. Se hai altre domande falle.... forse qualcuno risponderà |
|
|
|
|
|
#3 | ||
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
ciao grazie per la risposta,
Quote:
Quote:
|
||
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Jun 2008
Città: Brindisi
Messaggi: 20
|
Ciao...
se posso dare la mia opinione, senza nessun dubbio punterei sulla coppia C++/OpenGL... Come tu dicevi, opengl è multipiattaforma e open, quindi ad esempio un lavoro accademico avrebbe molto più valore. se devi programmare un videogioco, sicuramente la velocità e le prestazioni di c++ sono la soluzione migliore... ovviamente dipende da quanto tempo vuoi sbatterci la testa e da quale sia il tuo fine (in teoria un giochino stupido lo fai pure in flash, tanto x dire una fesseria |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
ciao grazie,
il punto è che a vedere le Direct si direbbe che i giochi abbiano una grafica migliore e mi chiedevo se questo fosse per le direct sono più potenti o perchè ci sono più persone in ambito professionale che le usano rispetto alle OpenGL. aiutatemi anche qui!!! poi perfavore rispondete anche alle altre domande: Quote:
ogni aiuto risposta parere ed opinione sono bene accetti!!! |
|
|
|
|
|
|
#6 |
|
Junior Member
Iscritto dal: Jun 2008
Città: Brindisi
Messaggi: 20
|
Le openGL sono più usate dalla comunità open-source. Se vuoi imparare a programmare per lavorare poi in una azienda, credo proprio che la conoscenza di DirectX sia più richiesta. OpenGL richiede forse più "sbattimento", ma ti permette di gestire più a basso livello e c'è molta più documentazione online...
insomma la diatriba è complessa (per non parlare dei soliti discorsi etici e di w w l'open source). come ho letto una volta da qualche parte, la cosa migliore è scegliere in base agli obiettivi. Io personalmente sto usando OpenGL, e lo faccio perchè utilizzo librerie opensource che si poggiano su esso. Inoltre credo che in ambito accademico-scientifico possa essere più apprezzato (il cross-platform in quei contesti credo sia indispensabile). Spero di esserti stato utile. Ti consiglio di cercare un po' su google i vari confronti tra GL e DirectX, provando a leggere anche quelli schierati prima con uno, poi con l'altro. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
ok,
ma con Quote:
e poi è vero o no che sono meno potenti (ossia i risultato grafici sono più scadenti)? |
|
|
|
|
|
|
#8 |
|
Junior Member
Iscritto dal: Jun 2008
Città: Brindisi
Messaggi: 20
|
Non conosco la sintassi di directx, ma mi risulta che sia di più facile apprendimento.
Per saperne di più leggiti questo articolo (inglese): Codice:
http://en.wikipedia.org/wiki/Comparison_of_OpenGL_and_Direct3D |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
Quote:
Solo il fatto che non siano compatibili con linux e che le openGL mi sembrano più usate da programmatori singoli nei vari forum (forse è una cazzata stratosferica!!! Ora vado a leggere |
|
|
|
|
|
|
#10 |
|
Junior Member
Iscritto dal: Jun 2008
Città: Brindisi
Messaggi: 20
|
Generalizzando si. Le varie software house si stanno spostando un poco verso le OpenGL, ma in realtà tutti i videogiochi a cui tu giochi probabilmente sono fatti con DirectX. Ovviamente un videogioco fatto con questa piattaforma non ti partirà mai sotto linux (anche se ho letto di tool automatici di conversione, chissà che non funzionino bene...)
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
per windows so che c'è il progetto wine che dovrebbe reimplementare le API windows ma mi pare abbia ancora molta strada da fare.
L'articolo me lo leggo un po' per volta perchè l'inglese per il momento non lo capisco benissimo. Ti pongo ancora delle domande: - usando le direct si possono rilasciare programmi opensource (penso di si ma non si sa mai) - è vero che ci vuole tanto tempo prima che si diffondano ma ha senso imparare del direct 9 quando sono uscite le 10? |
|
|
|
|
|
#12 |
|
Junior Member
Iscritto dal: Jun 2008
Città: Brindisi
Messaggi: 20
|
Io non ne ho idea...
Aspettiamo risp dagli altri ke sn curioso anche io ora. In ogni caso, se vuoi rilasciare codice tuo, a rigor di logica, puoi farlo liberamente. Ciò che tocchi di DirectX sono i prototipi di funzione, le interfacce, non la loro implementazione... Non so che cambia con la v10 di DirectX... |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
ok aspettiamo,
intanto grazie infinite!!!! penso che nel pomeriggio qualcuno si farà sentire. Ultima modifica di Mattyfog : 01-09-2008 alle 14:01. |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
please help me!!!
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
scusate se continuo a scrivere per riportare in alto la discussione ma vorrei iniziare già domani a studiare!!!
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Lascia stare il discorso del "si vede meglio", dipende tutto da come le si utilizzano le librerie grafiche: sia OpenGL che Direct3D sono di ottimo livello.
Per il mio modestissimo parere, anche se in passato ho usato solo OpenGL, ti direi di provare ad accoppiare C# e DirectX. Questo perché col C# ti eviti un po' di grattacapi che non sono mai d'aiuto per fare videogames e perché DirectX ti fornisce tutto il necessario per visualizzare elementi grafici, riprodurre elementi sonori e reagire agli input (OpenGL è esclusivamente una libreria grafica: per tutto il resto dovresti imparare ad usare altre librerie). E comunque datti tregua
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
ok,
Quote:
e poi ancora una domanda: forse non è meglio usare c++ e il dark GDK che dovrebbe semplificare un po' la storia con le directX? |
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Per quanto riguarda il codice managed, si tratta di codice che non viene compilato in un binario eseguibile nativamente dalla macchina, ma in un binario "intermedio" che viene gestito da una virtual machine (è il caso ad esempio del C# con il framework .NET). Siccome DirectX ed OpenGL sono pensati per codice che sia nativo, hai bisogno di accedervi tramite dei "wrapper" che facciano da tramite tra il codice managed e quello unmanaged.
Per DarkGDK invece non saprei, non l'ho mai usato. ![]() ciao
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
allora pongo le ultime domanda prima di arrivare alle conclusioni:
- con l'uscita delle DirectX 10, ha senso imparare le 9? Io non ho una sheda video compatibile con le 10, quindi o 9 o niente. Se non sbaglio le 10 supportano comunque le 9, però non vorrei mai andare a finire in un vicolo ceco. - tu mi hai proposto il C# perchè più semplice in alcune cose, io non so usare i wrapper e quindi non so se sia difficile, quindi la domanda è: se io mi semplifico un po' la vita con il C# ma me la complico con i wrapper non è che bilanciamo la cosa? - infine se è ver che il codice deve essere "passato" tramite macchina virtuale non è che si ha un rallentamento del gioco? |
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:21.




















