lunes, 10 de marzo de 2008

Iniciamos el aprendizaje

Hola a todos,
Lo primero es disculparme con todos por el retraso en los tutoriales, la verdad es que mi trabajo y el desarrollo de la lógica de "PerfectDay" el que (creo) será el primer juego implementado con OGRE4J como motor gráfico.

Con esto solo comentaros que pronto esto empezará ha estar muy movido ya que colgare aquí todo lo que aprenda durante el desarrollo del juego.
Así que os pido un poco de paciencia, solo un poco y aquí remos colgando información para que todos podamos aprender este fantastico Engine3D
Por cierto si alguien con ganas de aprender le gustaría participar en el desarrollo de PerfectDay enviadme un email.

martes, 12 de febrero de 2008

Gracias por el apoyo

Este es un pequeño post para dar las grácias a los creadores de Ogre4J no solo por el trabajo que están haciendo con Ogre4J si no por darme su apoyo en la web oficial de Ogre4J
Muchas gracias!!!

domingo, 3 de febrero de 2008

Tutorial 0: Instalación

Muy buenas a toda la comunidad hispano parlante de desarrolladores de juegos y gráficos 3D.
Este es el primero de una serie de tutórales y ayudas para que entre todos nos adentremos en ese gran mundo de Ogre4j q tanto promete.
Dicho esto lo primero que cabe hacer es: instalarlo QUE NO ES POCO.
Pre-condiciones:

Debido a mi escasa capacidades de redacción comentarios muy importantes para que el problema que te surge en una línea se resuelva, se cuentas en la siguiente. Es por esto que recomiendo leer completamente el tutorías antes de empezar punto por punto a hacerlo. Si lo se eso no lo hace nadie (ni yo mismo) pero quien avisa no es traidor

Empezamos:
******************************
Punto 1. Instalación Ogre 3d
******************************
Ogre4j "en teoría" usa unas librerías de Ogre3D precompiladas (dll) y a partir de hay empezamos a trabajar.
A mi eso no me funciono. Así que como tíos (y tías) duros que somos vamos primero a instalar ogre 3d en C++ y posteriormente instalaremos Ogre4J para esto(la instalación de Ogre 3D) el señor Tamudo tiene un magnifico tutorías (que funciona de verdad!!) así que por no plagiarlo acceder a el y seguid los pasos que indica.
Atención a mi me ocurrió, el instalador del Visual estudio parece quedarse tonto mucho tiempo ha de descargar 1,3GB de la red y mientras que lo hace no te dice nada y parece que esta colgado. No lo matéis al final acaba.
Una vez hemos instalado ogre. esto quiere decir que en (si no habéis movido las carpetas de sitio): C:\OgreSDK\bin\release podemos encontrar dlls como OgreMain.dll entre otros. Si no es así no dudeis en preguntarme.
Ahora podemos pasar a otro punto.

***************************************
Punto 2. Instalación de Ogre4j binarios
***************************************
En la pagina de Ogre4j podemos encontrar el enlace a la descarga, existen dos posibilidades

  1. Descargarlo compilado
  2. Descargar fuentes.

2.0.Configuración

Yo después de mucho pelearme con los compilados, acabe descargando lo fuentes. Así que nosotros para ahorrar tiempo, descargamos los fuentes aquí.
Y los descomprimimos donde más nos guste, en mi caso:
D:\Ogre_WorkStore\ogre4j-1.4.6-beta4-src\ogre4j-1.4.6-beta4-src
Una vez hecho esto nos vamos a las variables del sistema y añadimos en el path, la dirección del compilador de Visual estudio (cl.exe) sí no habéis cambiado nada será:
C:\Archivos de programa\Microsoft Visual Studio 8\VC\bin
Ya que es necesario para una de las tareas del script de construcción del ant.
2.1. Compilar ogre4j.dll

Para esto tenemos dos opciones, con tareas de ant, o con Visual Express Estudio
+ Ant.
El hecho de necesitar compilar Ogre4j radica en la necesidad de tener las clases envoltura o Wrapper del Ogre bien construidas. Es por esto que necesitamos recompilarlo.
Si ya hemos configurado nuestro Path con la ruta hasta cl.exe solo tenemos que abrir un consola y irnos hasta donde hayamos descomprimido los fuentes y escribir

$ ant

El solo ya generará todo lo necesario para nuestra ejecución.
+ Visual estudio
Igualmente fácil, en el directorio que hemos descomprimido en la ruta:
src\c\scripts
tenemos un proyecto de visual studio. Una vez abierto le damos a compilar
.......... y no compila..............
No asustarse, nos vamos al menu tools>options>"Project and solutions">VC++ Estudio
Aquí debemos añadir las librerías de dependencias, para esto cambiamos el combobox de arriba a la derecha donde pone "Show directories for:"--> 'Executable files' lo cambiamos a 'Includes files' allí añadimos las dependencias de jni que están dentro de la jdk de j

  • C:\Archivos de programa\Java\jdk1.6.0_03\include
  • C:\Archivos de programa\Java\jdk1.6.0_03\include\win32

NOTA: El típico error "carbón" a mi me daba problemas, esto al igual que la compilación de ogre3d por que no encontraba "window.h" si la buscáis en el sistema encontrareis "Window.h" renombrarla, y se acabarán los problemas.
NOTA2: Otra "tontería" que suele dar dolores de cabeza es que compilamos el debug en vez del release, para cambiar a release. Para esto nos vamos al menu Project>ogre4j project y pulsamos en botón "configuration manager", una vez hecho esto aparecerá un grid donde podremos seleccionar lo que queremos compilar, nosotros marcamos release.

Una vez compilado ya disponemos de un ogre4j.dll



2.2 Instalar el plugin de Ogre4j en eclipse.

Instalar el plugin de Ogre4j en eclipse es tan fácil como todos los demás

  1. Descomprimir
  2. Copiar el contenido de la carpeta "feature" en la carpeta "feature" de eclipse
  3. Copiar el contenido de la carpeta "plugins" en la carpeta "plugins" de eclipse
  4. Reiniciar eclipse (si lo teníamos abierto, si no solo abirlo)
  5. comprobar que funciona yendo a Ayuda>about>plugins y allí el último ha de ser org.ogre4j.eclipse..

2.3 Crear el proyecto HelloWorld

Vamos ahora a crear nuestro primer ejemplo de ogre4j. Para esto lo de siempre en elcipse:

  1. Nuevo>crear>Proyecto Java
  2. Le ponéis nombre y donde queráis
  3. Creáis una nueva clase en el paquete org.ogre4j.example.swt.HelloWorld
  4. Copiáis el contenido del enlace en la clase creada en el punto 2. Pisando lo que hubiese
  5. Faltan jars para que compilen estos son los jar de ogre4j.jar y uno de los swt.jar.
    1. El de ogre4j.jar sabemos donde esta, lo hemos descargado
    2. El jar de swt lo encontramos dentro de la carpeta plugins del eclipse, el nombre es org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar (o cualquier otra versión) lo copiamos a nuestra carpeta de librerías del proyecto.
    3. Lo renombramos a .zip
    4. Extraemos los dlls (las necesitamos para la ejecución)
    5. Lo renombramos a .jar
  6. Botón derecho en el proyecto, y en la pestaña de "Java Build Path">library pulsamos el botón "external jars" y añadimos ogre4j y el archivo que hemos copiado de la carpeta de plugins del eclipse (swt.jar)
  7. Ahora todo el proyecto debería funcionar.

2.4 Descargar media.jar

Toda ejecución de ogre4j necesita de dos fichero, estos ficheros se encuentra en una librería de java, media.jar, una vez descargada la renombramos a .zip y la descomprimimos.
Aquí tenemos dos ficheros: zuh.material y zuh.mesh, estos archivos deben estar junto a los dll que posicionamos en el punto 2.5

2.5 Copiar todas las dependencias de ogre4j.dll

Ya estamos casia punto, durante todo el tutorías hemos generado 2 dll (en realidad un monton más) pero dos importantes, así que ahora creamos una carpeta dentro de la carpeta del proyecto, le ponemos por ejemplo "lib" (he ahí un alarde de imaginación)
Aquí copiamos las siguiente librería:

  • ogre4j.dll que la encontramos en /bin/c/release/lib
  • OgreMain.dll esta la encontramos dentro de OgreSDK que compilamos en el punto 1. En mi caso C:\OgreSDK\bin\release Además y por si acaso copiamos el resto de dlls :D
  • kernel32.dll,msvcr71,msvcp71 Esta la podeis buscar con la ayuda de Windows, pero casi seguro que estan en /System32

Ya tenemos todas las librerías, pero ahora hace falta cargarla para. Para eston necesitamos hacer dos tareas:

  1. Incluir como argumento de ejecución de la aplicación, la declaración de las librerías.
    1. Pulsamos en el botón "Run..."
    2. De las posibilidades escogemos "SWT Applications"
    3. En la pestaña "Arguments" en el apartado VM argument -Djava.library.path=
  2. Añadimos el código necesario para cargar las librerías.
    1. En el main del ejemplo incluimos las siguientes librerías

System.loadLibrary("OgreMain");
System.loadLibrary("msvcp71");
System.loadLibrary("msvcr71");
System.loadLibrary("kernel32");

2.7 Ejecutar


Ya esta todo listo, ejecutamos la configuración de arranque que definimos en el paso anterior y vemos que por fin ¡¡¡¡TODO FUNCIONA!!!

Post-condición:


Si veis esto lo habéis conseguido, yo tarde 3 semanas (para la verdad 3 fines de semana) espero que vosotros tardéis menos.
Suerte a todos!!!

lunes, 28 de enero de 2008

Bienvenidos

Hola a todo el mundo.
En este blog siempre encontrareis información y ayuda sobre Ogre, Ogre4j y demás lindezas.
Cuidarse.