2009-05-04 12 views
10

Estoy tratando de mover el desarrollo de mi juego a la tercera dimensión, pero estoy teniendo problemas para entender lo que realmente tengo que hacer. Creé un MMORPG 2D antes de usar C y SDL, que no era demasiado difícil. Pero parece que no puedo encontrar ningún recurso útil que explique cómo funciona realmente la programación 3D. Tengo una comprensión básica de la matemática vectorial involucrada, pero parece que no puedo encontrar una explicación clara y profunda de cómo funcionan todos los demás, como la iluminación y los sombreadores. He encontrado muchas muestras de código y cosas por el estilo, pero todas arrojan un comentario como "// Aplicar la iluminación", que realmente no me dice nada sobre lo que está haciendo en realidad y por qué.¿Guías sobre conceptos de programación en 3D?

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

Respuesta

11

Si está buscando un libro, le recomiendo Real-Time Rendering. Tengo la segunda edición del libro y descubrí que es una gran ventaja cuando se trabaja con gráficos en 3D. El libro explica el trabajo 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 reales. Por lo tanto, es muy bueno si quieres aprender cómo funcionan las cosas en lugar de simplemente saber qué función llamar.

+0

¿habría un libro o sitio web equivalente para el concepto de gráficos 2D? o es 2d demasiado simple para tal tratamiento? – eugene

1

Si está interesado en la programación de XBOX 360 en C#, puede consultar el XNA Framework. This website tiene toneladas de tutoriales sobre XNA y recomiendo probarlo. Simplemente vaya a la barra lateral (a la derecha) y haga clic en la sección 3D.

5

Sugiero que revise NeHe OpenGL tutorials, comenzando con las más simples, y aprenda un poco de OpenGL. Una buena referencia de OpenGL (como el Red Book, aunque es quizás un poco avanzado para empezar) también será de gran ayuda.

+0

Oops acaba de ver su publicación, +1 para el libro rojo (por ejemplo, la guía de programación OpenGL, quinta edición) – yxk

+0

Oh, vaya. Acabo de ver tu publicación también. El libro rojo fue de lo que aprendí 3D: hace un muy buen trabajo comenzando desde cero. –

+0

Si/cuando recoge una copia del Libro rojo, asegúrese de que sea para OpenGL 4.0+ (que trata de sombreadores, no de la antigua tubería fija) –

8

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

Usted necesita la biblia de la programación grpahics:

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

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

No cubre cualquier OpenGL, DirectX o shaders, sólo 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 habilitan la iluminación en OpenGL de repente tendrán mucho sentido.

+1

Wow, no sabía que Van Dam era escritor, y mucho menos que fuera un gurú de los gráficos por computadora ... –

+0

¿sería mejor que 'renderizado en tiempo real' para un novato completo en gráficos? – eugene

2

El texto estándar que se devuelve "en el día" era Foley and 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 en 3-D no han cambiado.

Alan Watt's texto también es bueno, pero en realidad no es un libro introductorio.

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

3

The Red Book - es casi la única fuente que enseña todo (principiante-intermedio) que usted necesita saber sobre OpenGL.Esos conceptos se pueden mover a cualquier otra biblioteca 3D con bastante facilidad. ¡Y esto tiene una versión en línea gratis, también!

Cuestiones relacionadas