[lnkForumImage]
Download FREE Software.

Confronta i prezzi di migliaia di prodotti.
News Forum Italiano
 Home | Login | Registrati | Ricerca 


 

Forums >

it.comp.giochi.sviluppo

Consiglio libri

Bane

13/05/2010 20:56:35

Salve a tutti,
scrivo per avere dei consigli su qualche libro da
comprare per aggiornarmi in ambito grafica 3D.
Diciamo che non parto da zero, ho basi sia teoriche
che pratiche (OpenGL, DirectX, shader), ma vorrei
riportarmi al passo coi tempi! :)

Innanzitutto mi sono un po' perso con le varie
versioni dei libri che conoscevo una volta
(ShaderX 7, Game Programming Gems 8, ecc).
Ha senso prendere direttamente l'ultimo uscito,
oppure sarebbero da leggere "sequenzialmente"?

Per qualcosa di un po' teorico, che dite della
terza edizione di questo?
http://www.realtimerendering.com...

C'e' qualche bel libro specifico per le DirectX 11?

Insomma, accetto suggerimenti di qualsiasi tipo,
sono un po' spaesato (tenendo conto che vorrei
fare degli acquisti mirati, sia per non spendere
un capitale, sia per ottimizzare lo studio puntando
sui libri piu' interessanti e utili).

Grazie! :)

9 Risposte

Gianpaolo Ingegneri

14/05/2010 10:02:24

0

Secondo me gli unici libri che vale la pena di leggere sono quelli
universitari. Poi vengono i libri di attualità ed infine quelli fantasy,
anche se non ci impazzisco. Per il resto, reputo che i libri sulla grafica
3d siano la cosa peggiore che possa esistere (dopo quelli dei comici di
Zelig!). Ma perchè ti sto dicendo questo? Prima di tutto perchè questi libri
non chiariscono la differenza tra tutorial e insegnamento didattico, così
come ignorano la preparazione propedeutica di chi li sta leggendo, ad
esempio, il lettore ha ben chiari i concetti di limite, derivata, integrale,
funzione a più variabili, spazio vettoriale, curva, superficie, volume,
equazione differenziale, dominio della frequenza, sistema LTI, algebra
differenziale, numeri complessi e ipercomplessi (quaternioni), eccetera
eccetera? Assolutamente irrilevante, perchè quando si scrivono questi libri
si preferisce restare nel più generico possibile e scrivere un manuale del
"si fa così e cosà" invece di preparare realmente il lettore, anzi, molto
spesso chi li scrive non ha delle fortissime basi dal punto di vista teorico
e si limita a fare qualche cenno scopiazzato per poi riempire le successive
10 pagine con un listato di dimostrazione. Il risultato è molto scadente,
anzi, se proprio devo essere sincero, è un ammasso di aria fritta. Inoltre
non devi sottovalutare che questi libri, molto costosi pergiunta, vengono
scritti per puro scopo commerciale e perdono di significato dopo pochissimo
tempo in quanto la grafica è un argomento che si evolve in continuazione. Ti
dirò una cosa che a molti sembrerà controversa: vuoi migliorare davvero le
tue basi teoriche e pratiche? Comprati buona parte dei technos e fatti tutti
gli esercizi scritti dal primo all'ultimo, come ho fatto io. L'ultimo
technos che ho terminato è quello sulle equazioni differenziali e gli
integrali multipli. Dal punto di vista fortemente teorico, non c'è niente di
meglio di un buon libro di testo universitario. Ad esempio, se vuoi avere
delle ottime conoscenze di fisica (e se non lo hai già fatto) leggiti tutto
l'halliday, se vuoi alzare di livello le tue conoscenze sulle funzioni,
allora un bel libro di teoria dei segnali. E ti posso garantire che c'entra
tantissimo con la grafica, non c'è prezzo a pagare quando hai una perfetta
consapevolezza logico-matematica di tutto quello che stai programmando, così
capisci il perchè di certe implementazioni, come si passa dal continuo al
discreto, da un modello puramente teorico ad uno implementativo.

Per quanto riguarda i linguaggi di programmazione, le librerie, le GLSL, che
sono tutti argomenti che vanno in continua evoluzione ti consiglio di fare
ampio uso di tutorial che trovi online visto che vengono aggiornati in
continuazione. Se hai la necessità di approfondire un argomento in
particolare ti consiglio di cercare tra le varie pubblicazioni universitarie
oppure gli ebook che trovi su internet. Ad esempio, ce n'è uno ottimo che
plasma molto bene le conoscenze teoriche con il lato implementativo per
quanto riguarda le primitive e la collision detection/prediction, si chiama
Christer Ericson - Real Time Collision Detection.

Il mio consiglio in sintesi: Fortissime basi e Tutorial solo su quello che
ti serve. Per il resto in computer grafica ciò che cambia sono le schede 3d,
i device, gli effetti sfiziosi, ma alla fine la sostanza rimane sempre la
stessa.

"Bane" <bane@flammataetra.com> ha scritto nel messaggio
news:lzt5rgo4r9ao.dlg@flammataetra.com...
> Salve a tutti,
> scrivo per avere dei consigli su qualche libro da
> comprare per aggiornarmi in ambito grafica 3D.
> Diciamo che non parto da zero, ho basi sia teoriche
> che pratiche (OpenGL, DirectX, shader), ma vorrei
> riportarmi al passo coi tempi! :)
>
> Innanzitutto mi sono un po' perso con le varie
> versioni dei libri che conoscevo una volta
> (ShaderX 7, Game Programming Gems 8, ecc).
> Ha senso prendere direttamente l'ultimo uscito,
> oppure sarebbero da leggere "sequenzialmente"?
>
> Per qualcosa di un po' teorico, che dite della
> terza edizione di questo?
> http://www.realtimerendering.com...
>
> C'e' qualche bel libro specifico per le DirectX 11?
>
> Insomma, accetto suggerimenti di qualsiasi tipo,
> sono un po' spaesato (tenendo conto che vorrei
> fare degli acquisti mirati, sia per non spendere
> un capitale, sia per ottimizzare lo studio puntando
> sui libri piu' interessanti e utili).
>
> Grazie! :)


Bane

14/05/2010 12:40:26

0

Il 14/05/2010, Gianpaolo Ingegneri ha scritto:

Innanzitutto grazie per la risposta.

Probabilmente la mia richiesta era poco chiara,
forse dovevo contestualizzarla meglio! :)

> reputo che i libri sulla grafica 3d siano la cosa peggiore
> che possa esistere (dopo quelli dei comici di Zelig!). Ma
> perchè ti sto dicendo questo? Prima di tutto perchè questi
> libri non chiariscono la differenza tra tutorial e insegnamento
> didattico, così come ignorano la preparazione propedeutica di
> chi li sta leggendo, ad esempio, il lettore ha ben chiari i
> concetti di limite, derivata, integrale, funzione a più
> variabili, spazio vettoriale, curva, superficie, volume,
> equazione differenziale, dominio della frequenza, sistema LTI,
> algebra differenziale, numeri complessi e ipercomplessi
> (quaternioni), eccetera eccetera?

Tutte le basi teoriche di cui parli fanno gia' parte del
mio bagaglio culturale, studiate prima all'universita' e
approfondite (almeno parzialente) successivamente in ambito
lavorativo.

> quando si scrivono questi libri si preferisce restare nel più
> generico possibile e scrivere un manuale del "si fa così e cosà"
> invece di preparare realmente il lettore, anzi, molto spesso chi
> li scrive non ha delle fortissime basi dal punto di vista teorico
> e si limita a fare qualche cenno scopiazzato per poi riempire le
> successive 10 pagine con un listato di dimostrazione.

Su questo non concordo, alcuni testi di grafica 3D sono piuttosto
teorici, con codice spesso minimale o assente. A me sembrano ottimi
per avere una panoramica sugli algoritmi piu' recenti, senza doversi
andare a spulciare tutti i paper di tutte le conferenze di CG in
giro per il mondo. Un buon esempio di libro che ricade in questa
tipologia mi pareva potesse essere quello che ho linkato nel primo
messaggio (Real-Time Rendering).
Comunque non voglio certo convinverti di questo, accetto il tuo
punto di vista :)

> Ad esempio, se vuoi avere delle ottime conoscenze di fisica
> (e se non lo hai già fatto) leggiti tutto l'halliday

Gia' fatto, per Fisica 1 e 2 :)

> se vuoi alzare di livello le tue conoscenze sulle funzioni,
> allora un bel libro di teoria dei segnali.

Fatto pure questo...

> Per quanto riguarda i linguaggi di programmazione, le librerie,
> le GLSL, che sono tutti argomenti che vanno in continua evoluzione
> ti consiglio di fare ampio uso di tutorial che trovi online visto
> che vengono aggiornati in continuazione.

Io trovo utili anche quei libri piu' tecnici, che mostrano
il passaggio dalla teoria alla pratica. Personalmente preferisco
questo approccio a quello che si basa sullo studio dei tutorial
sparsi per la rete, spesso piuttosto scadenti (parere personale).


Per concludere, la mia richiesta verteva piu' che altro
su libri utili per aggiornarsi su cio' che e' successo
negli ultimi 4/5 anni (circa) nell'ambito specifico della CG.
Considero le basi teoriche (di CG e non) gia' acquisite.
Spero, questa volta, d'aver esposto meglio il mio obiettivo!

Grazie! :)

Gianpaolo Ingegneri

15/05/2010 12:42:19

0

> Per concludere, la mia richiesta verteva piu' che altro
> su libri utili per aggiornarsi su cio' che e' successo
> negli ultimi 4/5 anni (circa) nell'ambito specifico della CG.
> Considero le basi teoriche (di CG e non) gia' acquisite.
> Spero, questa volta, d'aver esposto meglio il mio obiettivo!

Mi dispiace di aver frainteso la tua richiesta
Credo che tu sia abbastanza preparato per questo: www.google.it .

Cordiali saluti.


Bane

15/05/2010 14:10:22

0

Il 15/05/2010, Gianpaolo Ingegneri ha scritto:

> Credo che tu sia abbastanza preparato per
> questo: www.google.it

Grazie, mi mancava! :)

Ammetto di non aver capito il perche' di
questa tua risposta, che presumo sia ironica.

I libri che ho citato nel primo messaggio sono
ovviamente presi da ricerche fatte su Internet.
Sono quelli che, al momento, comprerei.
In questo posto cercavo consigli da persone
che, magari lavorando nel settore, potessero
indirizzarmi meglio, confermando o meno le
mie scelte.

Tu mi hai fatto presente che non ritieni
particolarmente utili quei libri, motivando
le tue ragioni, e per questo ti ringrazio
(sinceramente) della risposta.
Ho quindi specificato meglio la richiesta
nella speranza di ottenere eventuali consigli
alternativi (vedremo, con dispiacere temo che
il NG sia ormai poco popolato, probabilmente
molti si sono spostati altrove).

Saluti

Gianpaolo Ingegneri

15/05/2010 23:15:47

0


>> Credo che tu sia abbastanza preparato per
>> questo: www.google.it
>
> Grazie, mi mancava! :)
>
> Ammetto di non aver capito il perche' di
> questa tua risposta, che presumo sia ironica.
>
> I libri che ho citato nel primo messaggio sono
> ovviamente presi da ricerche fatte su Internet.
> Sono quelli che, al momento, comprerei.
> In questo posto cercavo consigli da persone
> che, magari lavorando nel settore, potessero
> indirizzarmi meglio, confermando o meno le
> mie scelte.
>
> Tu mi hai fatto presente che non ritieni
> particolarmente utili quei libri, motivando
> le tue ragioni, e per questo ti ringrazio
> (sinceramente) della risposta.
> Ho quindi specificato meglio la richiesta
> nella speranza di ottenere eventuali consigli
> alternativi (vedremo, con dispiacere temo che
> il NG sia ormai poco popolato, probabilmente
> molti si sono spostati altrove).
>
> Saluti

La cosa che non mi convince è quando una persona chiede un consiglio
apparentemente semplice eppoi mi risponde di avere molte conoscenze al
riguardo. Ti avevo consigliato un ottimo libro, il Christer Ericson, che non
hai neppure considerato, ve be, su quello ci passo sopra. Per quanto
riguarda il discorso sul metterti alla pari con gli anni per la computer
grafica, davvero non credo che ci sia un solo libro in grado di farlo al
100% e la tua richiesta continua a non essermi chiara del tutto. Se vuoi
studiare le directx 11 c'è la guida online della microsoft, per il resto
sono tutte funzioni già fatte e flag da settare, non vedo quale sia il
problema e non credo che esista un libro che ti spieghi come fare bello un
motore 3d per direct, perchè dipende da quello che devi fare e dalla tua
fantasia. Ripeto il concetto di prima, i libri che ti convincono del
contrario sono poco seri. Per quello che c'è da sapere, lo shader language
delle direct è sempre quello HLSL della microsoft ed anche opengl ha fatto
degli ottimi passi in avanti con il suo GLSL. Le schede grafiche sono
diventate più potenti, la texture mapping è sempre quella di un tempo così
come la bump mapping e le tecniche di skinning per le mesh animate. Adesso
si usa una tecnica interessante per decrementare il numero di poligoni di un
character da milioni a poche migliaia ricavando delle normal map dalla
differenza tra i due modelli con un risultato impressionante. Molti grafici
usano dei software di scultura digitale come Z-Brush per la progettazione
dei personaggi, che poi decrementano a modelli lowpoly con il calcolo delle
normal map. Tecniche simili vengono usate per la costruzione di paricolari
all'interno di mappe 3d, quindi un motore grafico deve far uso di pixel
shader per supportare un uso avanzato dei materiali e poter competere con la
concorrenza. Gli utenti sono diventati molto più esigenti da quando sono
usciti termini di paragone come il CryEngine 2 oppure l'Unreal Engine 3, che
ti consiglio di approfondire tramite il suo development kit (udk) rilasciato
gratis per progetti non commerciali. Poi si sono affermate diverse filosofie
riguardo videogiochi e grafica 3d. Ci sono giocatori che preferiscono una
grafica semplice ed una giocabilità migliore, come quelli del WII, contro
quelli che vogliono sempre più effetti grafici con risoluzioni pazzesche,
come quelli del PC-Xbox360-PS3. Esiste inoltre una tecnologia che la
microsoft ha comprato a 36 milioni di dollari, una webcam che permette di
acquisire la profondità delle scene filmate permettendo implementazioni
avanzate di gesture recognition: questo consentirà ai giocatori di usare il
corpo per giocare invece del classico controller da tenere in mano. Il
progetto si chiama Natal ed uscirà per Xbox360 alla fine del 2010. Altri
standard interessanti si sono visti grazie all'NVIDIA che ha creato il CUDA,
un linguaggio che permette di usare la GPU al 100% con qualsiasi tipo di
algoritmo (non solo vertex e pixel shader), permettendo incrementi delle
performance fino a 30 volte rispetto alla CPU. Interessante e non da
sottovalutare è anche l'evoluzione della stereoscopia a scopo videoludico,
di cui si è occupata nvidia con il rilascio di diversi monitor lcd per la
visione in stereo e che di recente ha trovato una discreta diffusione nelle
sale cinematografiche di tutto il mondo, anche se non si è del tutto
affermata come standard de facto per colpa dei costi eccessivi dei supporti
tecnici per le sale. Come vedi, le novità sono parecchie e sfuggono alle
possibilità del singolo individuo. Se vuoi metterti al pari con gli ultimi 5
anni per fare da solo un motore grafico che sia alla pari coi tempi, allora
fai finta che questi 5 anni non siano mai esistiti: è assolutamente
impossibile. Se vuoi fare qualcosa in singolo, allora i tutorial online e
qualche guida vanno benissimo, assieme a quello che sai fare di già magari
usando un sdk già esistente, ma per quello non credo che ci vogliano dei
libri. Lo sviluppo di videogiochi è diventato un argomento troppo complesso,
questo spiega in parte l'abbandono da parte di gran parte degli sviluppatori
amatoriali ed in ultima battuta perchè questo gruppo ha molti meno utenti
che partecipano attivamente. Cercando su youtube si può capire come tra i
vari xna, irrlicht, ogre, udk non faccia più scalpore neppure un homemade
con dell'ottima grafica, quindi dal mio punto di vista i libri specifici per
fare giochi che siano alla pari ormai non sono più all'altezza della
situazione, e se non devi fare qualcosa che possa davvero competere vanno
benissimo i tutorial e le guide che trovi online più quello che sai già
fare.


Bane

16/05/2010 10:33:22

0

Il 16/05/2010, Gianpaolo Ingegneri ha scritto:

> La cosa che non mi convince è quando una persona chiede
> un consiglio apparentemente semplice eppoi mi risponde
> di avere molte conoscenze al riguardo.

Vero, il consiglio era semplice. Nel momento in cui hai
iniziato a parlare di basi teoriche propedeutiche alla
grafica 3D, mi e' sembrato giusto farti presente che erano
argomenti a me gia' noti (concetti di limite, derivata,
integrale, funzione a piu' variabili, spazio vettoriale,
curva, superficie, volume, equazione differenziale, dominio
della frequenza, sistema LTI, algebra differenziale, numeri
complessi e ipercomplessi (quaternioni), fisica, teoria dei
segnali, ecc.). Per imbastire meglio il confronto mi pareva
corretto chiarire la situazione, anche per evitare ulteriori
incomprensioni.

> Ti avevo consigliato un ottimo libro, il Christer Ericson,
> che non hai neppure considerato, ve be, su quello ci passo
> sopra.

Pensavo fosse orientato esclusivamente alla gestione delle
collisioni e della fisica, un esempio di libro che tu ritieni
valido e che preferisci ai libri di grafica 3D (per i quali
non hai particolarmente stima). Sinceramente mi sembrava
molto OT alla mia richiesta, ma non conoscendolo potrei averlo
valutato in modo errato. Provero' a fare qualche ricerca in
merito!

> Per quanto riguarda il discorso sul metterti alla pari con
> gli anni per la computer grafica, davvero non credo che ci
> sia un solo libro in grado di farlo al 100% e la tua richiesta
> continua a non essermi chiara del tutto.
> [...]

(evito di quotare tutto, ma la risposta e' generica :))

Provo quindi a portarti qualche esempio, giusto per completezza
(sia per te, sia per qualche lettore nascosto, si sa mai!! :))

Prendiamo un argomento apparentemente facile, la gestione delle
ombre. Io conosco i metodi che venivano utilizzati una volta:
stencil shadow volume, shadow mapping, lightmap (per arrivare a
sistemi di illuminazione quali ray tracing o radiosity, all'epoca
completamente non real-time, come del resto le lightmap, se
ricordo bene). Nel frattempo potrebbero essere state proposte
nuove tecniche o varianti di quelle vecchie, un buon libro
dovrebbe parlarne. Oppure, passando al bump mapping, normal
mapping (che citavi anche tu), parallax mapping, displacement
mapping, ecc... mi aspetterei una panoramica di queste tecniche,
come si sono evolute e cosa c'e' di nuovo.
Il medesimo ragionamento vale per tutti il resto (argomento
shader, come funzionano *teoricamente* un HDR rendering, un
DOF shader, un fur shader, giusto per citare le prime cose che
mi vengono in mente, ma chissa' quante ce ne sono e di cui
ignoro l'esistenza). Certamente potrei cercare in rete ogni
singolo argomento, ma avrei preferito un'alternativa "cartacea"
(se ci fosse stata, dalla tua esperienza la risposta pare sia
negativa). Questo per la parte teorica.
Poi chiedevo consigli anche su libri puramente pratici (citavo
le DirectX 11 come esempio, potrebbe effettivamente bastare la
guida online, come dici tu, non so).

Per il resto, credo d'aver capito abbastanza bene la tua posizione,
e la terro' sicuramente in considerazione. Ritengo sempre utile
un confronto con persone che hanno idee differenti alle mie! :)

Gianpaolo Ingegneri

16/05/2010 14:36:27

0


>> Ti avevo consigliato un ottimo libro, il Christer Ericson,
>> che non hai neppure considerato, ve be, su quello ci passo
>> sopra.
>
> Pensavo fosse orientato esclusivamente alla gestione delle
> collisioni e della fisica, un esempio di libro che tu ritieni
> valido e che preferisci ai libri di grafica 3D (per i quali
> non hai particolarmente stima). Sinceramente mi sembrava
> molto OT alla mia richiesta, ma non conoscendolo potrei averlo
> valutato in modo errato. Provero' a fare qualche ricerca in
> merito!

Non è che io non abbia stima, il discorso sulle basi teoriche me lo sono
posto diverse volte. Chi scrive questi libri solitamente lo fa rivolgendosi
all'ampio pubblico dei giovani programmatori che in generale non hanno delle
fortissime basi teoriche ma del talento naturale per la programmazione.
Tuttavia, se non è chiaro il livello di preparazione del lettore, come si fa
a parlare di argomenti che richiedono un bel po' di conoscenze di base, e
come fai ad essere preciso nella teoria se certe cose le devi tagliare per
adattarti al pubblico? Stesso dicasi per il Programming Gems o per la
maggior parte degli articoli che leggevo su Io Programmo, ti davano qualche
infarinatura sull'argomento e direttamente il listato senza mai addentrarsi
nella teoria, anche perchè gli articolisti hanno un limite di parole da
rispettare che non possono infrangere.

Poi è sempre stato il mio punto di vista che delle ottime base teoriche non
hanno bisogno di correre per stare al passo coi tempi. Prendo un esempio:
Mario 64. Un gioco uscito nel 96 con una grafica che oggi consideriamo
scarsa ma con uno spessore tecnico non indifferente. Davvero, invito
qualsiasi amatoriale a fare un gioco con la stessa giocabilità, lasciando
perdere la grafica, fossero pure dei poligoni in goraud shading. Qua
parliamo di collisioni fatte bene, di inquadrature intelligenti, di come i
movimenti del personaggio rispondono all'input del giocatore, e se guardo
tra i tanti giochi con la grafica super pompata sono anni che non riesco a
trovare un gioco con un simile livello tecnico, tolto l'aspetto grafico di
sostanza ce n'è pochissima. La qualità nasce dall'implementazione di quei
piccoli dettagli che non ti insegna nessuno, ovviamente chi non ha delle
ottime basi teoriche non ci può arrivare da solo e si affida alle soluzioni
preconfezionate.

Ad esempio sono stato mesi a cercare tra le varie tecniche di motori 3d per
capire come rendere fluido un engine su diversi computer a diverse vsync
senza alterare la dinamica degli oggetti, alla fine non trovando nulla di
soddisfacente mi sono programmato un bel sistema da capo facendo uso di più
thread perfettamente sincronizzati, senza introdurre scatti o alterazioni
delle traiettorie, dell'input o dell'engine fisico in generale. Se provi
Street Fighter 4 della Konami, hanno usato un engine che mi da rallentamenti
o accelerazioni improvvise in base al frame rate o alle configurazioni della
grafica 3d, mi piace pensare che il mio engine non avrà di questi difetti
perchè è un problema che ho già risolto.

> Provo quindi a portarti qualche esempio, giusto per completezza
> (sia per te, sia per qualche lettore nascosto, si sa mai!! :))
>
> Prendiamo un argomento apparentemente facile, la gestione delle
> ombre. Io conosco i metodi che venivano utilizzati una volta:
> stencil shadow volume, shadow mapping, lightmap (per arrivare a
> sistemi di illuminazione quali ray tracing o radiosity, all'epoca
> completamente non real-time, come del resto le lightmap, se
> ricordo bene). Nel frattempo potrebbero essere state proposte
> nuove tecniche o varianti di quelle vecchie, un buon libro
> dovrebbe parlarne.

In fin dei conti, non ci sono state tutte queste grandi innovazioni rispetto
alle tecniche che conoscevi di già. L'unico discorso è che oggi ci si è
spostati di più nella programmazione degli shader e quindi diverse tecniche
possono essere sviluppate per conto proprio con delle varianti, alla fine
dipende da quello che devi fare e su quali macchine deve girare il tuo
engine. Magari trovi qualche articolo con degli effetti esaltanti che però
non può essere usato all'interno di un engine con ambientazioni troppo vaste
altrimenti ti verrebbe lento.

> Oppure, passando al bump mapping, normal
> mapping (che citavi anche tu), parallax mapping, displacement
> mapping, ecc... mi aspetterei una panoramica di queste tecniche,
> come si sono evolute e cosa c'e' di nuovo.

In una sola parola: shader. Se hai delle buone conoscenze teoriche e
capacità di ottimizzazione, ti consiglio di programmarti questi algoritmi da
solo perchè spesso quelli che ho visto in giro non sono ottimizzati ne
tantomeno performanti.

> Il medesimo ragionamento vale per tutti il resto (argomento
> shader, come funzionano *teoricamente* un HDR rendering, un
> DOF shader, un fur shader, giusto per citare le prime cose che
> mi vengono in mente, ma chissa' quante ce ne sono e di cui
> ignoro l'esistenza). Certamente potrei cercare in rete ogni
> singolo argomento, ma avrei preferito un'alternativa "cartacea"
> (se ci fosse stata, dalla tua esperienza la risposta pare sia
> negativa).

Sinceramente credo che esista il libro che cerchi e per questo ti
consigliavo di cercare su google, oppure nella libreria più fornita della
città dove abiti. Secondo me per elencare tutte le tecniche in modo
esauriente verrebbe fuori qualcosa come il signore degli anelli, ma spesso
quello che ci serve si potrebbe riassumere in un manualetto tascabile [per
questo motivo ringrazio internet e chi lo ha inventato ;-) ] Per trovare un
prodotto di qualità è meglio discostarsi il più possibile dalla parola Game
nel titolo del libro, anche se per mettermi al passo coi tempi punterei
tutto sugli shader.

> Questo per la parte teorica.
> Poi chiedevo consigli anche su libri puramente pratici (citavo
> le DirectX 11 come esempio, potrebbe effettivamente bastare la
> guida online, come dici tu, non so).

Secondo me si.


Bane

16/05/2010 17:02:31

0

Il 16/05/2010, Gianpaolo Ingegneri ha scritto:

>>> Ti avevo consigliato un ottimo libro, il Christer Ericson,
>>> che non hai neppure considerato, ve be, su quello ci passo
>>> sopra.
>>
>> Pensavo fosse orientato esclusivamente alla gestione delle
>> collisioni e della fisica, un esempio di libro che tu ritieni
>> valido e che preferisci ai libri di grafica 3D (per i quali
>> non hai particolarmente stima). Sinceramente mi sembrava
>> molto OT alla mia richiesta, ma non conoscendolo potrei averlo
>> valutato in modo errato. Provero' a fare qualche ricerca in
>> merito!

Inizio con l'autorispondermi...
Ho guardato meglio il libro di Christer Ericson, parla di molte
problematiche affini alla CG, secondo me e' un libro di CG! :)
Classificazioni a parte (forse geometria computazionale sarebbe
piu' corretto), il testo pare effettivamente interessante,
conosco molte tematiche che tratta, ma sicuramente non a quel
livello di dettaglio. Lo rivaluto e lo metto in lista... :)

> Non è che io non abbia stima, il discorso sulle basi teoriche me
> lo sono posto diverse volte. Chi scrive questi libri solitamente
> lo fa rivolgendosi all'ampio pubblico dei giovani programmatori
> che in generale non hanno delle fortissime basi teoriche ma del
> talento naturale per la programmazione.
> Tuttavia, se non è chiaro il livello di preparazione del lettore,
> come si fa a parlare di argomenti che richiedono un bel po' di
> conoscenze di base, e come fai ad essere preciso nella teoria se
> certe cose le devi tagliare per adattarti al pubblico? Stesso
> dicasi per il Programming Gems o per la maggior parte degli
> articoli che leggevo su Io Programmo, ti davano qualche infarinatura
> sull'argomento e direttamente il listato senza mai addentrarsi
> nella teoria, anche perchè gli articolisti hanno un limite di
> parole da rispettare che non possono infrangere.
> [...]

(come al solito taglio il quoting, ma rispondo un po' a tutto :))

Con questo discorso mi sento di concordare.
Se ricordi, nel mio primo messaggio, chiedevo consigli anche
su libri teorici. Prendi l'esempio del libro che avevo "proposto"
http://www.realtimerendering.com... (all'inizio c'e' un
link per vedere buona parte dell'edizione precedente tramite
google books). E' quasi completamente teorico, non mi pare tanto
differente, come impostazione intendo, dal libro di Ericson.
Eppure e' un libro a tutti gli effetti di CG. Non conoscendolo,
ho pensato di chiedere informazioni, prima di spendere 80 dollari
piu' spedizione... :(

Faccio un esempio leggermente differente: supponiamo che una persona
voglia imparare a programmare in C++. Oltre ad imparare la sintassi
del linguaggio, si dovra' studiare tutte quelle parti teoriche che
comprendono il paradigma ad oggetti, gli algoritmi e le strutture
dati utili per risolvere varie problematiche, i design pattern, e
cosi' via. Ecco, pensavo ad un approccio simile. Libri piu' tecnici
per imparare argomenti quali DirectX/HSL/GLSL (diciamo aggiornarmi e
fare un bel ripasso, piu' che imparare da zero, me il senso e' quello).
Libri piu' teorici per capire cosa farne di questi strumenti. Il
libro teorico mi dice che esiste un certo effetto e che vi sono varie
tecniche (piu' o meno recenti) per realizzarlo. Il libro piu' pratico
mi da consigli su come farlo. Se poi un certo effetto mi esalta in
modo particolare, vado su Internet e mi guardo cosa e' stato proposto
negli ultimi SIGGRAPH e simili. Non discuto l'importanza della rete :)
Che poi esistano o meno libri interessanti di questo tipo... beh, ero
qui proprio per scoprirlo (ed ora ho la tua visione a riguardo)! :)

Per il resto, non ho particolari obiettivi. Sono consapevole che non
potro' creare un engine 3D, da solo, al giorno d'oggi, col poco tempo
che ho fra l'altro... :(
Al massimo dei piccolo demo di effetti carini, magari apportando
qualche idea interessante/innovativa in merito, chissa! :)

Infine, mi rendo conto che ti sto dicendo un po' sempre le stesse
cose... :P Mi ha fatto pero' piacere confrontarmi con le tue idee!

Gianpaolo Ingegneri

16/05/2010 22:50:41

0


> Per il resto, non ho particolari obiettivi. Sono consapevole che non
> potro' creare un engine 3D, da solo, al giorno d'oggi, col poco tempo
> che ho fra l'altro... :(
> Al massimo dei piccolo demo di effetti carini, magari apportando
> qualche idea interessante/innovativa in merito, chissa! :)

Dipende dagli obiettivi che si hanno. Se il tuo scopo è quello di fare
alcuni demo di computer grafica allora è sicuro che ci riesci. Pensa, li
facevo quando avevo 16 anni, ricordo ad esempio di aver fatto un motion blur
abbastanza notevole che finì sul talent scout del the games machine di quei
tempi, assieme ad altri effetti grafici. Avevo pensato già da allora di
costruirmi un engine potente ma la cosa finì per non avere senso quando ogni
passo che facevo in avanti era un passo indietro rispetto a quello che
usciva nel frattempo, eppoi il problema è organizzare tutti questi effetti
all'interno di un engine in grado di funzionare bene sulla maggior parte
delle macchine presenti sul mercato. Da quel punto di vista, è una gara
impari. Anche se fai molta esperienza non è mai abbastanza per poter
competere. Secondo me l'approccio più interessante per l'homebrew è quello
lanciato dalla nintendo. Parti da zero con un engine semplice ed un'idea
originale, e da li costruisci qualcosa nella speranza che possa piacere ad
un ampio pubblico. Da quella che è la mia esperienza, su internet c'è molta
voglia di lavori originali, e da quello che vedo per pc, i giochi non
sembrano riuscire bene nello scopo. Ho rinunciato da molto tempo all'idea di
competere con i mostri della cg, mi concentro di più sulle idee originali,
sui dettagli tecnici da console, sulla gestione delle risorse, sulla
stabilità, cerco di toccare aspetti che mi sembrano trascurati nel tentativo
di produrre qualcosa che possa interessare veramente. Va beh, adesso la
chiudo qui perchè sono uscito parecchio dal topic :)