Motore grafico / risorse di programmazione / ecc.? [chiuso]


10

Pubblicare questa domanda qui piuttosto che SO a causa della sua rilevanza con lo sviluppo del gioco.

Il mio dilemma è questo: al momento sono le mie vacanze estive dopo il mio primo semestre di CompSci e ho imparato abbastanza C ++ da iniziare con cose un po 'più avanzate.

Non voglio ancora iniziare la programmazione dei giochi fino a quando non mi insegnerò l'algebra lineare, la trigonometria, ecc. Tuttavia, voglio conoscere i fondamenti, la teoria e i metodi utilizzati nella programmazione dei giochi!

Pensavo di avere alcuni libri decenti nella biblioteca del college, ma erano orribilmente superati con libri sulla programmazione di giochi o motori di gioco o giochi / grafica (argomento qui) dai primi anni '90 al 2002.

Conoscendo lo stato volatile della tecnologia informatica, ho pensato di afferrare la conoscenza della tecnologia all'avanguardia da un libro di dieci anni non è una buona idea. Amazon stessa mi lascia senza capire quale libro voglio.

Quello che non voglio: un libro dipendente dalla piattaforma. Non ho intenzione di imparare OpenGL, Direct3D o qualsiasi API specifica. Voglio solo sapere cose come la tassellatura, come la GPU gestisce le cose, cosa succede sotto il cofano e che tipo di metodi di raytracing e radiosity ci sono. Le basi, i concetti fondamentali - quel tipo di cose.

Spero sia chiaro! Libri, risorse sono i benvenuti. Anche se preferisco di gran lunga un libro su un sito Web!


Aspetta ... Ci insegnano l'algebra lineare in elementare e il trigono in liceo ...
jcora

Risposte:


16

Questi non sono affatto "esaustivi" per i giochi, ma sono buoni libri per la computer grafica in particolare, quindi ecco un inizio.

Fondamenti di computer grafica

Peter Shirley, Steve Marschner

Amazon Link (terza edizione) | Sito Web del libro (seconda edizione)

Fondamenti di computer grafica
(fonte: images-amazon.com )

Questo libro tratta un sacco di informazioni su molte aree della computer grafica. Vengono trattati concetti "online" (come in tempo reale) e "offline" (come l'illuminazione globale), nonché matematica, ombreggiatura, pipeline grafica, trame, strutture di dati, teoria della luce e del colore, concetti di mesh, ecc. Non è sicuramente orientato specificamente ai giochi, ma piuttosto ai concetti di computer grafica in generale. Il libro non è scritto in alcun linguaggio di programmazione specifico, ma piuttosto nel linguaggio della matematica.

Rendering in tempo reale

Tomas Akenine-Moller, Eric Haines, Naty Hoffman

Amazon Link (terza edizione) | Sito Web del libro (terza edizione)

Rendering in tempo reale
(fonte: images-amazon.com )

Questo libro è orientato principalmente verso metodi di grafica "online" (in tempo reale). Copre la pipeline grafica e la matematica correlata, ombreggiatura e texturing, illuminazione, effetti dello spazio dello schermo, NPR, mesh e curve e alcune tecniche di accelerazione. Il capitolo sui metodi di test di intersezione vale solo il costo del libro, in quanto è un riferimento fantastico per testare le collisioni tra qualsiasi tipo di volume limite che avresti mai voluto usare. Discute gli shader, dove si inseriscono nella pipeline e per cosa possono essere utilizzati (che è una conoscenza essenziale nel lavoro di grafica moderna) ma certamente non puoi imparare la programmazione degli shader in nessuna lingua da questo libro. È una panoramica di alto livello delle tecniche in tempo reale, non un libro di programmazione. Ancora una volta, il linguaggio usato in questo libro è la matematica.

Architettura di Game Engine

Jason Gregory

Amazon Link (prima edizione) | Sito Web del libro (prima edizione)

Architettura di Game Engine
(fonte: gameenginebook.com )

Vorrei aggiungere questo libro al tuo elenco se sei interessato alla grafica in particolare per quanto riguarda i giochi. Gregory copre i sistemi di motori di gioco di grandi dimensioni da una vista di 10.000 piedi, dandoti occasionalmente esempi di codice in C ++ per illustrare i suoi punti, ma soprattutto è una panoramica di quali sono i principali sottosistemi di motori, come funzionano, come si adattano insieme e quali cose dovrebbe pensare a quando progettarli / costruirli. Vengono illustrati la matematica 3D e un aggiornamento C ++ (con particolare attenzione alla programmazione del gioco), nonché i gestori delle risorse, i circuiti di simulazione, i dispositivi di input, le tecniche di debug, i motori di rendering e animazione, le collisioni e le dinamiche del corpo rigido e i sistemi di gioco. Gli unici due principali sottosistemi di motori mancanti in questo libro sono l'audio e il networking, il che è onesto sull'abbandono perché il libro sta già spingendo oltre 800 pagine.


2
+1 per "Rendering in tempo reale" - libro di grafica molto raccomandabile. Inoltre, "Game Engine Architecture" dovrebbe fornirti la panoramica che desideri (in opposizione ai dettagli tecnici)
Dave O.

3

Se sei interessato a un tour di andata e ritorno di tutto il rendering, il rendering in tempo reale è la soluzione migliore.

In termini matematici, ci sono molti buoni libri introduttivi, che vanno dal più delicato 3D Math Primer per la grafica e lo sviluppo di giochi alla più ampia matematica per la programmazione di giochi 3D e la computer grafica .

Consiglio vivamente anche l' architettura di Game Engine se sei interessato a quel percorso; non è un libro di approfondimento sull'argomento (né potrebbe essere), ma è una solida base su un'ampia gamma di argomenti. Per un principiante lo considero inestimabile.


Si noti che "andata e ritorno ... di tutto" è limitato a tutto ciò che riguarda la grafica. Nessuna logica di gioco, fisica, ecc.
Dave O.

1
@Dave - Probabilmente è per questo che ha detto "tutto il rendering ". :)
Neverender,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.