Comenzando Irrlicht

Irrlicht es un motor que aunque no ofrece las prestaciones superiores de Ogre, Torque o de otros motores comerciales, es de fácil uso y por tanto un buen punto de partida para empezar a trabajar. Aunque se oferte a si mismo como un motor gráfico, irrlicht posee unas pocas características de motor de videojuego, principalmente la de leer scripts (xml), lo que permite hacer scripting de niveles. Aún así para la mayoría de las características adicionales como AI, networking y sonido tienen que ser desarrollados con herramientas externas.

Debido a que este es un proyecto en continuo desarrollo es probable que algunas cosas dejen de funcionar correctamente a medida que el motor evoluciones, en cada caso colocaré una versión con la que fue realizado el tutorial.

Esta motor no posee una documentación estructurada mas allá de una revisión de clases, funciones y constantes, que es bastante buena, pero con la que cuesta hacerse una idea global del manejo del motor. También están los tutoriales en la página principal, mas otras cuantas páginas, muy pocas en español, lo que hace que estos tutoriales tengan cabida. En este tutorial las cosas van desde lo mas básico, así que se detallan cosas tan evidentes para algunos como incluir los path en el IDE.

Es probable que algunos tutoriales de esta serie parezcan directamente sacados de los que se ofrecen en la página de Irrlicht, pero en realidad son una mezcla entre éstos, la experiencia en el aprendizaje del motor, el conocimiento existente en los foros y la documentación que acompaña al sdk. Realmente estoy al comienzo del aprendizaje, así que esta serie de tutoriales estarán llenos de omisiones y errores, que con suerte iré corrigiendo poco a poco. No se olviden de comentar todas las bestialidades cometidas.

Generalidades

Al momento de empezar a realizar esta serie de tutoriales irrlicht (versión 1.3) tiene las siguientes características:

  • 5 tipos diferentes de renderes: OpenGL, DirectX 9.0c, DirectX 8.1 y 2 de software.
  • Independiente de plataforma (requiere volver a compilar).
  • Sistema de GUI 2D.
  • Totalmente en c++ y orientado a objetos.
  • Sistema integrado de detección y respuesta de colisiones.
  • Carga directamente en el motor diferentes formatos 3d como .3ds, .obj, .dae, .x, .bsp, .md2, .ms3d, .my3d entre otros.
  • Cargador de XML.
  • Materiales y Shaders de HLSL y GLSL.
  • Animacion de modelos mediante Morph Target y Skeletal Animation.
  • Open Source bajo licencia zlib.

Además de estas existen algunas otras incorporadas de manera oficial y muchas otras que han sido desarrolladas por los entusiastas del motor y que aún permanecen en los foros sin incorporarse al sdk. Adicionalmente a esto existen proyectos que están destinados específicamente al motor, como es el caso de irredit, irrklang e irrxml (oficiales), my3d y visual editor, wrappers de motores físicos, entre otros.

Debido a que el motor está en continuo desarrollo es importante revisar cada cierto tiempo la página del proyecto (http://www.irrlicht3d.org/) con el fin de obtener las nuevas versiones del SDK. Adicionalmente existen los foros (http://irrlicht.sourceforge.net/phpBB2/index.php) por los cuales rondan muchos desarrolladores veteranos, expertos en el uso y modificación del motor, por lo que si uno hace bien la tarea (buscar en google, en el foro y wiki) y todavía no obtiene respuesta, pueden lanzar un hilo. Es importante notar que la documentación que acompaña al SDK es mas bien la documentación del código y no del funcionamiento en general del motor, por lo que los foros son una herramienta esencial para aprender.

Irrlicht tiene tres filosofías atractivas: Por un lado trata de ofrecer la mejor tecnología posible, por otro abstrae todo de manera que la codificación de aplicaciones sea sencilla y por último permite trabajar con gran cantidad de formatos 3d comerciales, por lo que el flujo de trabajo es bastante bueno.

Trabajando con el Motor

Para empezar a trabajar con el motor es necesario descargarlo. En esta página se puede encontrar la versión mas reciente: http://irrlicht.sourceforge.net/downloads.html . La distribución viene con el código fuente (c++ y .net), las librerías binarias para Visual Studio y gcc, ejemplos precompilados y la documentación para (.chm) para irrlicht e Irrlicht.NET .

Segundo es necesario tener un IDE con el cual trabajar, este puede ser Visual Studio (6.0, 2003, 2005, Express), Code::Blocks, Devpp y demás que funcionen con gcc. Para el caso de este tutorial se utilizara Visual Studio Express, aunque el proceso es casi idéntico con la familia Visual Studio desde el 6.0. Para usar esta versión gratuita del VCExpress es necesario instalar y configurar Plataform SDK, las instrucciones se pueden encontrar en:
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/

Tercero es necesario crear un proyecto y ajustar el IDE para encontrar las librerías de irrlicht. Para crear un directorio se va a nuevo->proyecto->win32->Aplicación de Consola de Win32, se le da el path y nombre de proyecto. Le damos aplicación de consola (aunque aplicación para Windows este habilitado) debido a que irrlicht muestra mensajes de depuración por la consola, lo que es útil en estos momentos, aunque al momento de sacar la versión release debería quitarse. También seleccionamos proyecto vacio y finalizar.

Screen VSE

Screen VSE

1 2 3

Compartir esta entrada

DiggReddit

8 Responses to Comenzando Irrlicht

  1. Pues la información ha sido de mucha utilidad, no se diga el archivode muestra; de verdad muchas gracias, me he estado quebrando todo el día la cabeza con el programa y por fin empiezo a ver claro de que se trata. Ahora estoy intentando agregarle las colisiones a la cámara.

  2. pero entonces ..sirve para hacer un juego o no…porque es en esta web diccen que es super facil:

    http://www.devmaster.net/engines/

    la verdad me llama la atencion..pero no se si un novato en progracion puede lograr algo con Irrlicht.
    porque darbasic pro me frustro con todos lo aditamentos que quieren que compres para lograr la experencia completa…

  3. irrlicht es sencillo pero aun así requiere conocimientos de programación. La diferencia con otros motores (ogre por ejemplo) es que no se necesita tener tan avanzados conocimientos (plantillas, patrones, etc). Aún así como muchos motores open algunas características están en desarrollo, es decir, no completamente implementadas.

  4. Esto tutorial esta bueno..pero se te olvido poner COMO COMPILAR???
    y la parte donde debes configuar el IDE necesita ser un poco mas claro..para los novatos.
    por cierto ..que libros recomendarias para empezar ..gracias

  5. Pingback: Comenzando con Irrlicht « K A L A N

  6. Tengo un problema y no sé ya dónde buscar 🙁 Hago todo tal cual lo explicas, genero la solución con Visual C++ 2005 Express y según parece no hay problemas. De hecho, pone “1 correctos, 0 incorrectos, 0 omitidos”. Me genera un ejecutable, navego hasta su ruta, lo ejecuto y…no sale nada. Tengo en su misma ruta el archivo “irrlicht.dll” de “Win32-VisualStudio”, no lanza mensajes de error, simplemente no hace nada. Si lo ejecuto desde consola de comandos simplemente vuelve a mostrarme el prompt en la línea siguiente, como si el programa estuviera vacío. Tengo configuradas correctamente las rutas en Visual C++, ¿qué puede estar fallando? Gracias 🙂

  7. Saludos, intenta compilar alguno de los ejemplos del SDK a ver si obtienes el mismo resultado.

  8. Gracias por el tutorial. ¿No tendrás algo mas por casualidad? ¿La siguiente parte? Por cierto, en la versión 1.7.1 cuando se intenta compilar tu “hola mundo” con GCC da error en la creación del device, IrrlichtDevice *device, donde pones dimension2d debe ser u32 en vez de s32.
    También sería interesante que explicaras como creaste el modelo, el .x y otros tipos o algo mas sobre esto.
    Saludos!!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *