Programación Específica > Programación de Videojuegos

 Motores 3d ¿por Dónde Empiezo?

(1/2) > >>

NEXTOR:
Hola muchachos.

Por fin estoy terminando el libraco de programación de C en Windows y lo siguiente que quiero hacer es programar aplicaciones gráficas en 3D. Tengo un par de libros para aprender a usar Direct X sin embargo ahora tengo una duda.

He oído hablar de los motores gráficos 3D, y en concreto una web recomendaba usar un motor llamado "Crystal Space" que además es gratuíto, pero creo que se basaba en OpenGL. La cuestión es que no sé por dónde empezar, ¿qué es mejor, DirectX, OpenGl, cualquier otro motor 3D? ¿Cuál es más completo y/o más "standard"? ¿Los motores 3D aprovechan al máximo las capacidades 3D de las tarjetas?

En fin, lo que necesito es un par de sugerencias para comenzar. ¿Me podéis dar algunas?

Gracias.

Ruben3d:
Hola.

Lo primero es ver la diferencia entre motor 3d y librería gráfica. Dicho brevemente, una librería gráfica sólo te da la opción de pintar en pantalla los polígonos que le pases (eso sí, con muchas opciones). Las más extendidas son OpenGL, Direct3D y, más recientemente , DirectGraphics. Un motor 3d no sólo te deja pintar en pantalla (pues usa una librería gráfica), sino que también suele encargarse de administrar las entidades de la escena, los recursos (modelos, texturas), colisiones, gestión del escenario, etc.

Crystal Space es multiplataforma y soporta OpenGL, software y DirectX (sólo en Win32). Actualmente están trabajando en una nueva versión del renderer que no soporta ya rasterización software pero que incorpora stencil shadows y per-pixel lighting. Éste es el motor que usan para el MMORPG Planeshift, que es gratuito.

Motores gratuitos tienes muchos, como Ogre (que no soporta colisiones, pero está muy bien gráficamente) o, si quieres motores específicos para juegos en primera persona, prueba con Tenebrae o Tenebrae 2.

Yo, particularmente, prefiero programar un motor antes que usar uno hecho (y para hacerlo he de elegir entre DirecX, OpenGL o software). Sé que es como reinventar la rueda, pero la parte que me gusta hacer es hacer el motor del juego, más que hacer el juego en sí.


--- Citar ---¿qué es mejor, DirectX, OpenGl, cualquier otro motor 3D? ¿Cuál es más completo y/o más "standard"?
--- Fin de la cita ---

Lee mi respuesta a este post:
DirectX vs OpenGL

Si decides usar un motor ya hecho, pasate por esta web, que hay una enorme cantidad de motores 3d clasificados por sus características:
3DEngines.net


--- Citar ---¿Los motores 3D aprovechan al máximo las capacidades 3D de las tarjetas?
--- Fin de la cita ---

Depende del motor. Si usas los comerciales de licencias millonarias, como el de Doom3 o el próximo Unreal Engine 3, te aseguro que sí, aunque de todas formas para eso está el motor: aislarte de las extensiones de la tarjeta y que se encargue él de seleccionar el render path adecuado. De todas formas también hay motores gratuitos, mira en el link de arriba.

Un saludo.

Ruben3d

NEXTOR:
Rubén, muchas gracias por responderme. Precísamente me has aclarado una duda que tenía, la de no saber si librería gráfica y motor 3d eran lo mismo o no y si la una trabajaba debajo de la otra.

Yo también soy partidario de programar las cosas desde más bajo nivel y no depender de librerías externas sino de crear las que yo crea convenientes, y así si hay errores, al menos son MIS errores y no errores en los que no puedo meter mano. Por eso prefiero programar mis propias clases en Win32 en vez de usar las que ya hay preparadas, como MFC, OWL (ya me he encontrado con problemas al utilizarlas)... etc...

Muchas gracias, majete.  :gracias:

Geo:
Qué tal, a mí me gustó la explicación sobre los engines y las librerías gráficas, aún soy principiante (estoy aprendiendo C++ y he manejado algo de Allegro, pero nadamás :P), pero les comento un artículo que hace algún tiempo encontré sobre este tema, a ver qué les parece:

¿Somos programadores de juegos o de engines?

Saludos,
José Jorge (Geo).

bob esponja:
decis que recien terminas de leer un libro de c++ y ya queres hacer cosas en 3d?
mi opinion es que trates de hacer cosas en 2d primero,

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa