• Lunes 23 de Diciembre de 2024, 04:00

Autor Tema:  Motores 3d ¿por Dónde Empiezo?  (Leído 2735 veces)

NEXTOR

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Motores 3d ¿por Dónde Empiezo?
« en: Martes 18 de Mayo de 2004, 09:05 »
0
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.
Néxtor

Ruben3d

  • Miembro HIPER activo
  • ****
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Motores 3d ¿por Dónde Empiezo?
« Respuesta #1 en: Martes 18 de Mayo de 2004, 11:51 »
0
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"?

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?

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

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Re: Motores 3d ¿por Dónde Empiezo?
« Respuesta #2 en: Miércoles 19 de Mayo de 2004, 07:37 »
0
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:
Néxtor

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Motores 3d ¿por Dónde Empiezo?
« Respuesta #3 en: Jueves 20 de Mayo de 2004, 01:33 »
0
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).
La imaginación es el límite.
Hardware & Software | Mexchip

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Motores 3d ¿por Dónde Empiezo?
« Respuesta #4 en: Jueves 20 de Mayo de 2004, 02:25 »
0
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,

Ruben3d

  • Miembro HIPER activo
  • ****
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Motores 3d ¿por Dónde Empiezo?
« Respuesta #5 en: Jueves 20 de Mayo de 2004, 13:13 »
0
Citar
mi opinion es que trates de hacer cosas en 2d primero

Estoy totalmente de acuerdo.

Respecto al artículo que posteó Geo, como ya he dicho, soy de los que prefieren realizar un engine. De todas formas, no soy de esos que no hacen más que engines y no llegan a hacer ningún juego: de la época del ZX Spectrum guardo unos 15 ó 20 juegos mayormente acabados (todos en BASIC del 48k) y, más recientemente, tengo un par de juegos 2D también acabados en C++ con OpenGL. Actualmente tengo un engine 2D cuya primera versión está prácticamente acabada (me falta el sistema de partículas, que está a medias), pero he tenido que dejar el desarrollo en pausa, porque estoy trabajando en una librería 3D para PocketPC, sobre la que voy a montar un engine 3D (para realizar un juego para un concurso de programación de dispositivos móviles: MobiGame).

Un saludo.

Ruben3d

TonyCool

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Motores 3d ¿por Dónde Empiezo?
« Respuesta #6 en: Jueves 24 de Junio de 2004, 08:11 »
0
Hola a todos, llegue a este foro por casualidad cuando buscaba informacón de como utilizar imagenes en c++ y dibujarlas en la pantalla, mi intención es hacer aplicaciones graficas sin ventanas como el Dock de Mac OS pero para windows, y no encuentro información de como se pasa un bitmap a pantalla, solo encontre como dibujarlo en una ventana, pero eso no me sirve de mucho, y me preguntaba si ustedes que conocen los motores 3d y el openGL podría ayudarme