¿Motor gráfico / programación / recursos de Etc? [cerrado]

10

Publicar esta pregunta aquí en lugar de SO debido a su relevancia con el desarrollo del juego.

Mi dilema es el siguiente: actualmente son mis vacaciones de verano después de mi primer semestre de CompSci y he aprendido suficiente C ++ para comenzar realmente en un poco más avanzado.

Todavía no quiero comenzar la programación de juegos hasta que me enseñe álgebra lineal, trigonometría, etc. Sin embargo, ¡quiero saber los fundamentos, la teoría y los métodos utilizados en la programación de juegos!

Pensé que tenía algunos libros decentes en la biblioteca de la universidad, pero estaban horriblemente desactualizados con libros sobre programación de juegos o motores de juegos o juegos / gráficos (tema aquí) desde principios de los 90 hasta 2002.

Conociendo el estado volátil de la tecnología informática, pensé que no era una buena idea aprovechar el conocimiento sobre tecnología de punta de un libro de una década de antigüedad. Amazon mismo me deja sin idea de qué libro quiero.

Lo que no quiero: un libro dependiente de la plataforma. No estoy dispuesto a aprender OpenGL, Direct3D o ninguna API específica. Solo quiero saber cosas como la teselación, cómo la GPU maneja las cosas, qué sucede debajo del capó y qué tipo de métodos de trazado de rayos y radiosidad existen. Lo básico, los conceptos centrales: ese tipo de cosas.

¡Espero que esté claro! Libros, recursos son bienvenidos. ¡Aunque prefiero un libro sobre un sitio web!

SoulBeaver
fuente
Espera ... Nos enseñan álgebra lineal en primaria y trigonometría en secundaria ...
jcora

Respuestas:

16

De ninguna manera son "exhaustivos" para los juegos, pero son buenos libros para gráficos de computadora en particular, así que aquí hay un comienzo.

Fundamentos de los gráficos por computadora

Peter Shirley, Steve Marschner

Amazon Link (tercera edición) | Sitio web del libro (segunda edición)

Fundamentos de los gráficos por computadora
(fuente: images-amazon.com )

Este libro cubre una tonelada de información sobre muchas áreas de gráficos por computadora. Se cubren los conceptos "en línea" (como en tiempo real) y "fuera de línea" (como la iluminación global), así como matemáticas, sombreado, canalización de gráficos, texturas, estructuras de datos, teoría de luz y color, conceptos de malla, etc. Definitivamente no está orientado específicamente a los juegos, sino más bien a los conceptos de gráficos por computadora en general. El libro no está escrito en ningún lenguaje de programación específico, sino en el lenguaje de las matemáticas.

Renderizado en tiempo real

Tomás Akenine-Moller, Eric Haines, Naty Hoffman

Amazon Link (tercera edición) | Sitio web del libro (tercera edición)

Renderizado en tiempo real
(fuente: images-amazon.com )

Este libro está dirigido principalmente a los métodos gráficos "en línea" (en tiempo real). Cubre la tubería de gráficos y las matemáticas relacionadas, sombreado y texturizado, iluminación, efectos de espacio de pantalla, NPR, mallas y curvas, y algunas técnicas de aceleración. El capítulo sobre métodos de prueba de intersección vale solo el costo del libro, ya que es una referencia fantástica para probar colisiones entre casi cualquier tipo de volumen delimitador que quiera usar. Analiza los sombreadores, dónde encajan en la tubería y para qué se pueden usar (que es un conocimiento esencial en el trabajo gráfico moderno), pero ciertamente no podría aprender la programación de sombreadores en ningún idioma de este libro. Es una descripción general de alto nivel de las técnicas en tiempo real, no un libro de programación. Nuevamente, el lenguaje usado en este libro es matemática.

Arquitectura del motor de juego

Jason Gregory

Amazon Link (Primera edición) | Sitio web del libro (primera edición)

Arquitectura del motor de juego
(fuente: gameenginebook.com )

Añadiría este libro a su lista si le interesan los gráficos específicamente en relación con los juegos. Gregory cubre grandes sistemas de motores de juegos desde una vista de 10,000 pies, de vez en cuando le ofrece ejemplos de código en C ++ para ilustrar sus puntos, pero sobre todo es una descripción general de cuáles son los principales subsistemas del motor, cómo funcionan, cómo encajan y qué cosas debe pensar al diseñarlos / construirlos. Se cubren las matemáticas 3D y una actualización de C ++ (con un enfoque específico en la programación de juegos), así como los administradores de recursos, bucles de simulación, dispositivos de entrada, técnicas de depuración, motores de renderizado y animación, colisiones y dinámicas corporales rígidas, y sistemas de juego. Los únicos dos subsistemas principales del motor que faltan en este libro son el audio y las redes, lo cual es honesto de dejar de lado porque el libro ya está superando las 800 páginas.

Bob Somers
fuente
2
+1 para "Renderizado en tiempo real": libro gráfico muy recomendable. Además, "Game Engine Architecture" debería darle la descripción que deseaba (en oposición a los detalles técnicos)
Dave O.
3

Si está interesado en un recorrido de ida y vuelta de todo el renderizado, el renderizado en tiempo real es su mejor opción.

En términos de matemáticas, hay varios buenos libros introductorios, que van desde la cartilla de matemáticas 3D más suave para gráficos y desarrollo de juegos hasta las matemáticas más amplias para programación de juegos en 3D y gráficos por computadora .

También recomiendo Game Engine Architecture si estás interesado en esa ruta; No es un libro en profundidad sobre el tema (ni podría serlo), pero es una base sólida en una amplia gama de temas. Para un principiante lo consideraría invaluable.

Jason Kozak
fuente
Tenga en cuenta que el "viaje de ida y vuelta ... de todo" se limita a todo lo relacionado con los gráficos. Sin lógica de juego, física, etc.
Dave O.
1
@Dave - Probablemente por eso dijo "todo renderizado ". :)
Neverender