|
|
|
![]() |
|
Strumenti |
![]() |
#21 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Oh no sono usciti dall'antro i fanboy OpenGL, scappiamo
![]() Allora, tiriamo fuori la solita ramanzina: -PS3 non usa OpenGL. OpenGL è realizzata quale wrapper di LibGCM, e qualunque sviluppatore non stia facendo cagate (leggasi: tutti) usano quest'ultima. -Wii non usa OpenGL. Usa una libreria dalla sintassi simile ma scritta e decisa completamente all'interno di Nintendo. Ogni somiglianza è casuale. Praticamente OpenGL al di fuori di piattaforme dotate di sistema operativo non esiste. Inoltre OpenGL NON E' aperta. Basta capire come viene decisa e da chi, per capire che DirectX e OpenGL subiscono pressioni esattamente allo stesso modo e dalle stesse aziende. E per di più OpenGL non è "free software" "as in speech" perchè il codice sorgente dei singoli driver e delle specifiche implementazioni di OpenGL è CHIUSO, e l'utente finale non ha alcun potere su di esso. In finale quello che dovrebbe far decidere su quale API utilizzare dovrebbe essere unicamente la facilità di utilizzo; e quella pende pesantemente a favore di DirectX sui sistemi windows. In più, tutto questo discorso è del tutto inutile ai fini di Lanus91, perchè imparare un'API non serve a niente. Quello che è difficile oggi sono i concetti di alto livello dietro lo sviluppo di un motore grafico (che a sua volta è una minima parte di un motore da gioco) e quelli non si apprendono di certo buttando 4 vertici a schermo in immediate mode. Per quanto mi riguarda ho imparato tutto usando e studiando l'architettura di Ogre3D, seguendo forums e leggendo articoli di approfondimento qua e la e scrivendo un rasterizzatore software. infatti non saprei consigliare un libro perchè non ne ho letto nessuno ![]() Ciò non toglie che con le mie basi ho "imparato opengl" e scritto un rozzo motore grafico in poco più di 2 giorni. Però, poi ci sono voluti altri 24 giorni per finire il gioco. Vi prego, smettete di dire "voglio fare un gioco = imparo un'API". NON HA SENSO. /rant |
![]() |
![]() |
![]() |
#22 | |
Junior Member
Iscritto dal: May 2009
Messaggi: 21
|
Quote:
![]() Invece c'è già la pappa pronta, però almeno la voglio capire. Tu hai imparato in modo empirico lavorando con un motore grafico e vedendo com'è stato realizzato. Non sarà l'approccio più sistematico, ma credo che sia il più comune. La mia paura è che così facendo, anche perchè non conosco la matematica necessaria, potrei non capirci nulla semplicemente analizzando il codice di un motore grafico. Un'altra paura è che magari imparo tutte le cose in modo frammentato senza poi farle mie in modo da saperle riutilizzare, cioè non sapendole riutilizzare consapevolmente e senza capire quel che c'è dietro. Ma forse è tutta questione di pratica. Quello che intendevo fare era bypassare questa fase, od almeno ridurla leggendo un manuale sull'argomento, ma da quanto ho capito alla fine dovrò anch'io fare in questo modo. ![]() |
|
![]() |
![]() |
![]() |
#23 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Non sto dicendo che il mio percorso è stato il più veloce cmq, ho iniziato nel 2006
![]() Con un buon libro da seguire nel fare pratica sarebbe stato più veloce, poco ma sicuro... però la pratica rimane imprescindibile, fare giochi è e rimane un'attività da smanettone incallito ![]() Non ci sono risultati certi, solo risultati "divertenti", così come non ci sono algoritmi sbagliati ma algoritmi che "funzionano", e la capacità di trovare compromessi (fare schifezze? ![]() Come dire, se non si può cambiare l'algoritmo si cambia il risultato voluto. Poi quanto vuoi approfondire le meccaniche di sfondo dipende da te: se ti interessa più creare buoni motori grafici/fisici/quant'altro dovrai seguire un approccio più scientifico e di studio, perchè ci sono una serie di principi di progettazione dietro.. e lascia perdere l'idea di completare un gioco. invece se ti interessa creare giochi puoi usare circa qualsiasi cosa all'inzio, e ci sono moltissimi motori di alto livello (Unity, Ogre, Pygame, UDK, Flash, eccetera ) che astraggono praticamente qualsiasi cosa, compresa la tanto temuta "matematica"... però sarai considerabile uno smanettone ![]() |
![]() |
![]() |
![]() |
#24 | |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
macchè nemmeno mi occupo di grafica
![]() Quote:
però sarai d'accordo che conoscendo opengl è più facile apprendere sia psgl che l'api grafica di wii però rimane il fatto che tutti i device mobili non windows usano opengl es comunque la si giri opengl esiste ed è molto usato |
|
![]() |
![]() |
![]() |
#25 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Nah, PSGL come ho detto è un wrapper di LibGCM, quindi chi ci lavora davvero usa direttamente LibGCM per una questione di flessibilità e pretstazioni...
Cmq si volevo solo sfatare questi miti che si vedono ripetuti a pappagallo ogni volta che si parla di OpenGL, in altre sezioni del forum mi sono pure visto dire che mi sbaglio. Poi, OpenGL è decisamente molto usato e sarà usato sempre di più, e personalmente ritengo che DirectX rimarrà "schiacciato" tra schede video potentissime che renderizzano in CUDA/OpenCL vs embedded che usano OpenGL tra qualche anno... Ma tanto, se sai OpenGL impari directx in 2 minuti e viceversa, quindi continuo a credere che per iniziare una vale l'altra, se proprio devi essere masochista ![]() |
![]() |
![]() |
![]() |
#26 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Aggiungiamo pure che OpenGL è una libreria per la sola grafica, mentre per sonoro, input, networking, e video deve affidarsi ad altra roba, mentre le DirectX coprono tutto ciò che serve nella realizzazione di un videogioco.
Inoltre sono API: - più semplici da utilizzare; - con più documentazione; - con supporto da parte di Microsoft; - (dalla 10) non prevedono più le estensioni, ma un set unico a cui tutti i produttori devono attenersi (al contrario, OpenGL ne fa ancora uso e ciò comporta la creazione di code path diversi da usare per sfruttare le funzionalità proprietarie dei produttori di GPU, in attesa che il comitato le ratifichi ufficialmente); modello "console", per intenderci. Sono i motivi per cui uno sviluppatore Windows è decisamente più produttivo con le DirectX, e difatti da tempo quasi tutti hanno abbandonato le OpenGL.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#27 |
Registered User
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
|
Questo libro è molto interessante e anche piacevole da leggere:
http://www.amazon.com/Game-Engine-Ar...4608210&sr=8-1 E' scritto da uno dei programmmatori di uncharted2. Personalmente ti consiglio di stare alla larga da opengl. Il 90% della documentazione che trovi online è deprecata e perderesti troppo tempo. Te lo dice uno che ci guadagnava il pane fino a qualche mese fa... |
![]() |
![]() |
![]() |
#28 |
Registered User
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
|
Anche le rare volte in cui si decide di fare una versione linux o Mac spesso la versione windows è comunque fatta in directx. Senza usare librerie aggiuntive come glew non è così automatico il porting su linux. Senza considerare poi tutte le altre componenti del gioco.
|
![]() |
![]() |
![]() |
#29 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
XNA con C#, e ti diverti sia prima che dopo.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#30 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Anche Python può aiutare con XNA: Integrating and using Iron Python in a XNA Game
Guardate il video che è spettacolare. ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#31 | |
Junior Member
Iscritto dal: May 2009
Messaggi: 21
|
Quote:
Avevo trovato anche questo, che ha un approccio pratico simile a quello che diceva PGI-bis. Però utilizza le DirectX 10 ed io al momento sto su XP. L'edizione precedente utilizza le DX9, però è molto più datata. Una volta imparato a fare un motore grafico, penso che utilizzare questi strumenti sia d'obbligo per un programmatore produttivo. Però per me che non ne so niente sarebbe come utilizzare delle formule matematiche senza conoscerne la dimostrazione. Poi certo realizzerei il mio videogioco, ma se in futuro ne volessi fare un altro e cambiassero gli strumenti di sviluppo, io mi ritroverei a partire da zero, o quasi. Ultima modifica di Lanus91 : 23-05-2010 alle 11:41. |
|
![]() |
![]() |
![]() |
#32 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Penso che la quasi totalita' delle persone che sviluppano per web non sappia cosa siano i layer di rete ISO-OSI, ne' cosa sia TCP, ne cosa sia IP, ne HTTP, etc. Pero' sviluppa per web e magari lo fa anche tanto bene. A ciascuno i suoi spazi. A parte alcuni aspetti di base per i quali la matematica e' a livello di scuola superiore, direi che per il resto se ne puo' fare a meno e cnosiderarlo una black-box. XNA e simili, produttivo fino a che si sta sul piccolo comunque. Non penso di sbagliare se dico che nessuna software house dedita ai videogiochi usa XNA o similari. Ma se si e' da soli o in pochi e' una manna dal cielo. Devi comunque decidere prima il tuo target, se e' un videogioco per cellulari, per IPhone, per Mac, per PC, e poi si decide la tecnologia. Non prima. Se il target e' PC, con XNA resta fuori quello 0.002% di persone che usa Linux e NON ha Windows, e a cui piacciono i giochi. Un sottoinsieme dabbero piccino worldwide. Direi che puoi lasciarli fuori, guadagnando una piu' alta probabilita' di portare a termine il lavoro ![]()
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
![]() |
![]() |
![]() |
#33 | ||
Registered User
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
|
Quote:
su cui mettere le mani, questo non è il libro giusto. E' un libro eccezionale se invece vuoi avere un'ottima formazione teorica sull'argomento. Buona parte degli altri libri ti guidano nella creazione di un engine giocattolo, questo è un libro scritto da un professionista del settore ed è indirizzato a studenti, programmatori junior del settore e programmatori senior che essendo specializzati in un particolare ambito vogliono sviluppare una visione d'insieme. Di gran lunga il miglior libro che abbia letto sull'argomento. Se vuoi invece un bel libro sulla grafica non c'è niente di meglio di real time rendering di moller, haines, hoffman ma questo è già più impegnativo. Quote:
Ultima modifica di javaboy : 23-05-2010 alle 12:57. |
||
![]() |
![]() |
![]() |
#34 | |
Registered User
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
|
Quote:
Fondamenti di grafica tridimensionale interattiva invece te lo consiglio. |
|
![]() |
![]() |
![]() |
#35 |
Registered User
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
|
Nel campo dei videogiochi è un pò diverso. Ci sono vincoli di performance strettissimi ed è importante sapere come è implementata la NEW in c++ o come funziona una GPU.
|
![]() |
![]() |
![]() |
#36 | ||||
Junior Member
Iscritto dal: May 2009
Messaggi: 21
|
Quote:
![]() E' la sete di conoscenza che non posso ignorare. Poi sì, posso usare anche formule di matematica senza conoscerne le dimostrazioni, ma poi mi verrebbe sempre la curiosità di sapere il perchè. Sia un muratore che un ingegnere sanno fare una casa. Ma il secondo la fa con cognizione di causa e per me è un fattore importante. Quote:
Quote:
Quote:
![]() Ti ringrazio i tuoi consigli mi sono stati molto utili. |
||||
![]() |
![]() |
![]() |
#37 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Aggiungerei a questo punto che non ci sono più le mezze stagioni e la torta come la faceva mia nonna non la fa più nessuno.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#38 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
"Con le OpenGL ci viene buona la zuppa" (cit.).
![]() ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#39 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
|
![]() |
![]() |
![]() |
#40 |
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
Raga, anche se mi intrometto senza leggere, ma per C# esiste un engine?
XNA se non sbaglio fa da intermediario con le DirectX ma non è un vero engine giusto?? |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:20.