Pregunta

Estoy tratando de mover el desarrollo de mi juego a la tercera dimensión, pero tengo algunos problemas para entender lo que realmente tengo que hacer. Creé un MMORPG 2D antes de usar C y SDL, lo que no fue demasiado difícil. Pero parece que no puedo encontrar recursos útiles que expliquen cómo funciona realmente la programación 3D. Tengo una comprensión básica de las matemáticas vectoriales involucradas, pero parece que no puedo encontrar ninguna explicación clara y profunda de cómo funcionan todo lo demás, como la iluminación y los sombreadores. He encontrado muchas muestras de código y cosas así, pero todas ellas incluyen un comentario como "// Aplicar la iluminación", que realmente no me dice nada sobre lo que realmente está haciendo y por qué.

No estoy buscando un tutorial específico de API; es bastante fácil aprender una nueva API; simplemente no estoy seguro de qué hacer con ella.

¿Fue útil?

Solución

Si está buscando un libro, le recomiendo Renderizado en tiempo real . Tengo la segunda edición del libro y descubrí que es una gran ventaja cuando trabajo con gráficos en 3D. El libro explica el funcionamiento interno de los componentes básicos de la programación 3D, como las transformaciones, la iluminación y las texturas. También explora una variedad de temas avanzados, incluidos sombreadores, detección de colisiones, aceleración y optimización.

El libro es muy ligero en el código. Explica los algoritmos en profundidad, pero no contiene fragmentos de código real. Por lo tanto, es muy bueno si desea aprender cómo funcionan las cosas en lugar de simplemente saber a qué función llamar.

Otros consejos

Si desea comprender los conceptos de gráficos por computadora en 3D y tutoriales de renderizado no será de mucha ayuda. Como descubrió, le enseñan la API pero no ayudan con la comprensión fundamental.

Necesitas la biblia de la programación de grpahics:

http://www.amazon.com/Computer-Graphics-Principles-James- Foley / dp / 0201121107

texto alternativo http://introtextbooks.com/wwwstatic/gfx/cover/foley-computer-graphics-principles-and-practice-in-c-2e.jpg

No cubre OpenGL, DirectX o sombreadores, solo los fundamentos. Pero eso es lo que necesitas. Por ejemplo: una vez que haya entendido cómo funciona la iluminación, las tres líneas que permiten la iluminación en OpenGL de repente tendrán perfecto sentido.

Te sugiero que eches un vistazo a los NeHe OpenGL tutoriales , comenzando con los más simples, y aprende un Un poco de OpenGL. Una buena referencia de OpenGL (como el Libro rojo , aunque quizás sea un poco avanzado para empezar) también será de gran ayuda.

El Libro Rojo : es prácticamente la única fuente que enseña todo (principiante- intermedio) que necesita saber sobre OpenGL. Esos conceptos se pueden mover a cualquier otra biblioteca 3D con bastante facilidad. ¡Y esto también tiene una versión gratuita en línea!

El texto estándar de vuelta " en el día " fue Foley y Van Dam , algunos temas tratados allí son un poco largos en el diente, pero las matemáticas fundamentales detrás de las transformaciones y proyecciones tridimensionales no han cambiado.

El texto de Alan Watt también es bueno, pero no es realmente un libro introductorio.

También puede echar un vistazo al sitio web de David Eberly , ha escrito varios libros sobre el tema y hay una gran cantidad de información relacionada que también se puede encontrar allí. Espere muchas matemáticas.

Si está interesado en programar para XBOX 360 en C #, puede consultar XNA Framework. Este sitio web tiene toneladas de tutoriales sobre XNA y recomiendo probarlo. Simplemente navegue a la barra lateral (a la derecha) y haga clic en la sección 3D.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top