Moteur graphique / ressources de programmation / etc.? [fermé]

10

Publier cette question ici plutôt que SO en raison de sa pertinence avec le développement de jeux.

Mon dilemme est le suivant: ce sont actuellement mes vacances d'été après mon premier semestre de CompSci et j'ai appris suffisamment de C ++ pour réellement commencer dans des choses un peu plus avancées.

Je ne veux pas commencer la programmation de jeux jusqu'à ce que je m'apprenne l'algèbre linéaire, la trigonométrie, etc. Cependant, je veux connaître les principes fondamentaux, la théorie et les méthodes utilisées dans la programmation de jeux!

Je pensais que j'avais des livres décents dans la bibliothèque du collège, mais ils étaient horriblement obsolètes avec des livres sur la programmation de jeux ou les moteurs de jeux ou les jeux / graphiques (sujet ici) du début des années 90 à 2002.

Connaissant l'état volatile de la technologie informatique, j'ai pensé que saisir les connaissances sur les technologies de pointe d'un livre vieux de dix ans n'était pas une bonne idée. Amazon lui-même me laisse sans idée de quel livre je veux.

Ce que je ne veux pas: un livre dépendant de la plateforme. Je ne suis pas en train d'apprendre OpenGL, Direct3D ou une API spécifique. Je veux juste savoir des choses comme la tessellation, comment le GPU gère les choses, ce qui se passe sous le capot et quel genre de méthodes de raytracing et de radiosité existent. Les bases, les concepts de base - ce genre de choses.

J'espère que c'est clair! Les livres, les ressources sont les bienvenus. Bien que je préfère de loin un livre à un site Web!

SoulBeaver
la source
Attendez ... Ils nous apprennent l'algèbre linéaire au primaire et le trig au lycée ...
jcora

Réponses:

16

Ce ne sont en aucun cas «exhaustifs» pour les jeux, mais ce sont de bons livres pour l'infographie en particulier, alors voici un début.

Fondements de l'infographie

Peter Shirley, Steve Marschner

Amazon Link (troisième édition) | Site Web du livre (deuxième édition)

Fondements de l'infographie
(source: images-amazon.com )

Ce livre couvre une tonne d'informations sur de nombreux domaines de l'infographie. Les concepts "en ligne" (comme le temps réel) ainsi que "hors ligne" (comme l'illumination globale) sont couverts, ainsi que les mathématiques, l'ombrage, le pipeline graphique, les textures, les structures de données, la théorie de la lumière et des couleurs, les concepts de maillage, etc. Ce n'est certainement pas spécifiquement destiné aux jeux, mais plutôt aux concepts d'infographie en général. Le livre n'est écrit dans aucun langage de programmation spécifique, mais plutôt dans le langage des mathématiques.

Rendu en temps réel

Tomas Akenine-Moller, Eric Haines, Naty Hoffman

Amazon Link (troisième édition) | Site Web du livre (troisième édition)

Rendu en temps réel
(source: images-amazon.com )

Ce livre est principalement orienté vers les méthodes graphiques "en ligne" (en temps réel). Il couvre le pipeline graphique et les mathématiques connexes, l'ombrage et la texturation, l'éclairage, les effets d'espace écran, le NPR, les maillages et les courbes et certaines techniques d'accélération. Le chapitre sur les méthodes de test d'intersection vaut à lui seul le coût du livre, car c'est une référence fantastique pour tester les collisions entre à peu près n'importe quel type de volume de délimitation que vous souhaitez utiliser. Il discute des shaders, où ils s'inscrivent dans le pipeline et à quoi ils peuvent être utilisés (ce qui est une connaissance essentielle dans le travail graphique moderne) mais vous ne pouvez certainement pas apprendre la programmation des shaders dans n'importe quel langage de ce livre. C'est un aperçu de haut niveau des techniques en temps réel, pas un livre de programmation. Encore une fois, le langage utilisé dans ce livre est les mathématiques.

Architecture du moteur de jeu

Jason Gregory

Amazon Link (première édition) | Site Web du livre (première édition)

Architecture du moteur de jeu
(source: gameenginebook.com )

J'ajouterais ce livre à votre liste si vous êtes intéressé par les graphiques spécifiquement en ce qui concerne les jeux. Gregory couvre les grands systèmes de moteur de jeu à partir d'une vue de 10000 pieds, vous donnant occasionnellement des exemples de code en C ++ pour illustrer ses points, mais c'est principalement un aperçu de ce que sont les principaux sous-systèmes de moteur, comment ils fonctionnent, comment ils s'emboîtent et quelles choses vous devrait réfléchir à leur conception / construction. Les mathématiques 3D et un recyclage C ++ (avec un accent particulier sur la programmation de jeux) sont couverts, ainsi que les gestionnaires de ressources, les boucles de simulation, les périphériques d'entrée, les techniques de débogage, les moteurs de rendu et d'animation, les collisions et la dynamique du corps rigide et les systèmes de jeu. Les deux seuls principaux sous-systèmes de moteur manquants dans ce livre sont l'audio et la mise en réseau, ce qui est honnête à propos de l'omission car le livre contient déjà plus de 800 pages.

Bob Somers
la source
2
+1 pour "Realtime Rendering" - livre graphique très recommandable. De plus, "Game Engine Architecture" devrait vous donner la vue d'ensemble que vous vouliez (contrairement aux détails techniques)
Dave O.
3

Si vous êtes intéressé par une visite aller-retour de tout le rendu, le rendu en temps réel est votre meilleur choix.

En termes de mathématiques, il existe plusieurs bons livres d'introduction, allant de l' amorce mathématique 3D plus douce pour le graphisme et le développement de jeux aux mathématiques plus larges pour la programmation de jeux 3D et l'infographie .

Je recommande également fortement Game Engine Architecture si vous êtes intéressé par cette voie; ce n'est pas un livre approfondi sur la question (ni ne pourrait l'être), mais c'est une base solide sur un large éventail de sujets. Pour un débutant, je le considérerais comme inestimable.

Jason Kozak
la source
Veuillez noter que "aller-retour ... de tout" est limité à tout ce qui concerne les graphiques. Pas de logique de jeu, de physique, etc.
Dave O.
1
@Dave - C'est probablement pourquoi il a dit "tout ce qui est rendu ." :)
Neverender