Configurar Un Proyecto en VC++ 2008 Para OGRE

Julio 19, 2008

Antes de comenzar a desarrollar proyectos en OGRE, es necesario que sepamos como debemos configurar nuestro IDE, y cuales son las opciones y archivos que necesitamos. Existe un asistente (wizard) para OGRE, pero no recomiendo su utilización, ya que no nos permite personalizar las opciones que necesitamos, es mejor que lo configuremos nosotros a nuestro gusto, así que  a continuación trataré de explicar todos esos detalles necesarios para nuestras futuras aplicaciones con OGRE. Estas instrucciones las he realizado con Visual C++ Express 2008, pero no debe ser difícil adaptarlas para alguna otra versión de Visual Studio :-)

Para empezar, creamos un nuevo proyecto con Visual Studio, aquí tenemos dos opciones, podemos crear una aplicación de consola o un proyecto win32, recomiendo una aplicación win32 si es que estas comenzando a utilizar este motor gráfico. El otro modo (consola) puede sernos útil para la depuración, ya que aparecerá información en la ventana de consola sobre la carga de OGRE, pero aunque no tengamos la salida por consola, podemos revisar el archivo ogre.log, que contiene toda esa información y nos puede en determinado momento indicar que parte esta fallando de nuestro programa. Si queremos cambiar de aplicación win32 a aplicación de consola y viceversa en un proyecto ya creado, podemos irnos a “proyecto /`propiedades / propiedades de configuración / vinculador / sistema / susbsistema”

Cualquiera que sea la opción que elijamos, lo siguiente será decirle que queremos un proyecto vacío.

Una vez que hayamos creado el proyecto, lo siguiente será configurarlo para que podamos compilar un proyecto.

Nos vamos al menú “Proyecto / Propiedades” (alt-F7) y luego en el cuadro de dialogo que se abre, nos vamos a  “propiedades de configuración / depuración /directorio de trabajo” y ahí le diremos cual es el directorio de nuestro archivo ejecutable. Esto es muy importante para que podamos depurar/ejecutar desde dentro de Visual Studio, pues de otra forma nos marcaría error a la hora de querer ejecutarlo.

En ese mismo cuadro, nos vamos a “c++/ general /Directorios de inclusión adicionales” y ahí pondremos los directorios include de OGRE separados por comas, en mi caso, ya que utilizo la versión source de OGRE, son los siguientes:

C:\ogre\OgreMain\include;C:\ogre\Dependencies\include

Si además piensas utilizar CEGUI (una librería para diseñar GUIS que se acopla muy bien con OGRE, tienes que añadir el siguiente:

C:\ogre\Samples\Common\CEGUIRenderer\include

Si piensas hacer los tutoriales básicos del OGRE Wiki, necesitarás añadir además de los anteriores:

C:\ogre\Samples\Common\include

Si utilizas el SDK, los directorios son un poco diferentes, verifica cuáles son en tu caso.

Lo siguiente es configurar los directorios en donde se encuentran las librerías (bibliotecas) , esto es en la opción “vinculador / general / directorios de bibliotecas adicionales” :

C:\ogre\lib;C:\ogre\Dependencies\lib\Release

Si vas a usar la versión Debug de las dependencias de OGRE, cambia Release por Debug

y por ultimo añadimos los nombres de las librerías que vamos a utilizar, esto lo hacemos en “vinculador / entrada / dependencias adicionales”, pero en este caso, a diferencia de los directorios, deben ir separadas con espacios.

Para el modo Release:

OgreMain.lib OIS.lib

Para el modo Debug:

OgreMain_d.lib OIS_d.lib

Si pensamos utilizar CEGUI, añadimos además:

Modo Release: OgreGUIRenderer.lib CEGUIBase.lib

Modo Debug: OgreGUIRenderer_d.lib CEGUIBase_d.lib

Después (copiamos) los archivos resources.cfg y plugins.cfg al directorio de nuestro ejecutable, que se encuentran dentro de la carpeta \ogre\Samples\Common\bin\Release y también copiamos todos los archivos dll que se encuentran en esa carpeta:

CEGUIBase.dll
CEGUIExpatParser.dll
CEGUIFalagardWRBase.dll
cg.dll
OgreGUIRenderer.dll
OgreMain.dll
OIS.dll
Plugin_BSPSceneManager.dll
Plugin_CgProgramManager.dll
Plugin_OctreeSceneManager.dll
Plugin_ParticleFX.dll
RenderSystem_Direct3D9.dll
RenderSystem_GL.dll

También necesitamos modificar el archivo resources.cfg para que pueda encontrar los archivos de recursos (modelos, texturas, shaders, etc.) este archivo es un simple archivo de texto que podemos abrir con el bloc de notas o cualquier otro editor de texto, y vamos a sustituir los path relativos por path absolutos para evitarnos de problemas de que no encuentre algún archivo de recursos, en mi caso sustituí todos los “../../../” por “C:/ogre/Samples/” quedándome el contenido así:

# Resource locations to be added to the 'boostrap' path
# This also contains the minimum you need to use the Ogre example framework
[Bootstrap]
Zip=C:/ogre/Samples/Media/packs/OgreCore.zip

# Resource locations to be added to the default path
[General]
FileSystem=C:/ogre/Samples/Media
FileSystem=C:/ogre/Samples/Media/fonts
FileSystem=C:/ogre/Samples/Media/materials/programs
FileSystem=C:/ogre/Samples/Media/materials/scripts
FileSystem=C:/ogre/Samples/Media/materials/textures
FileSystem=C:/ogre/Samples/Media/models
FileSystem=C:/ogre/Samples/Media/overlays
FileSystem=C:/ogre/Samples/Media/particle
FileSystem=C:/ogre/Samples/Media/gui
FileSystem=C:/ogre/Samples/Media/DeferredShadingMedia
Zip=C:/ogre/Samples/Media/packs/cubemap.zip
Zip=C:/ogre/Samples/Media/packs/cubemapsJS.zip
Zip=C:/ogre/Samples/Media/packs/dragon.zip
Zip=C:/ogre/Samples/Media/packs/fresneldemo.zip
Zip=C:/ogre/Samples/Media/packs/ogretestmap.zip
Zip=C:/ogre/Samples/Media/packs/skybox.zip

Finalmente añadimos un archivo nuevo a nuestro proyecto de Visual Studio con la opción “Agregar Nuevo elemento / Archivo C++”. este archivo deberá tener una estructura parecida a la siguiente:

#include <Ogre.h>
// Las siguientes lineas solo las necesitas para los Tutoriales del Wiki
// una vez que hayas aprendido lo basico, se recomienda crear tu propio Framework
#include <ExampleApplication.h>
#include <ExampleFrameListener.h>

#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
#define WIN32_LEAN_AND_MEAN
#include "windows.h"
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
//Si utilizas el modo consola, cambia la linea anterior por la siguiente
//int main(int argc, char **argv)
#endif
{
	return 0;
}

Y listo! Finalmente tenemos configurado un proyecto para utilizar OGRE.

Como comentario final, recomiendo trabajar con la versión Release de OGRE, ya que la versión Debug es mas lenta, y generalmente no la necesitaremos, a menos que queramos depurar dentro del código fuente de OGRE, pero esto no significa que no podamos depurar nuestro programa, aun lo podemos hacer, solo que si hay un error interno en OGRE, no podremos encontrar la línea exacta de este, pero este caso es raro, por lo general, si hay algún error es por parte nuestra y no del código de OGRE ;-) .

Nota: Si no les aparece el directorio del ejecutable para que copien las dll y los archivos de configuración de OGRE, y que además puedan indicar el directorio de trabajo para la depuración, hagan una compilación (generar solución) para que el directorio sea creado, y entonces si podrán hacerlo. O creen el directorio manualmente.

Entry Filed under: OGRE. .

8 Comments Add your own

  • 1. daniel  |  Septiembre 19, 2008 at 8:13 am

    Una pregunta amigo… estas trabajando con Visual C++ Express ??

    Responder
  • 2. profesorx  |  Septiembre 19, 2008 at 9:46 am

    Si., lo menciono en el articulo.

    Responder
  • 3. daniel  |  Septiembre 19, 2008 at 10:27 am

    Disculpa tienes razon…
    tengo este problemita. Ya realice todos los pasos que expones, pero al iniciar depuracion me arroja el siguiente error

    1>.\res\prueba6.rc(10) : fatal error RC1015: cannot open include file ‘winres.h’.
    1>El registro de compilación se guardó en el “file://c:\OgreSDK\samples\prueba6\prueba6\obj\Debug\BuildLog.htm”
    1>prueba6 – 1 errores, 1 advertencias
    ========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========

    gracias de antemano…

    Responder
  • 4. profesorx  |  Septiembre 19, 2008 at 1:25 pm

    Por la linea que me muestras, parece que no creaste un Proyecto win32 en blanco tal como menciono. Debe ser en blanco totalmente, sin ningun archivo de codigo. Ya que tengas un proyecto totalmente en blanco, sin nada de nada, añades un nuevo elemento/Archivo C++, y vuelves a intentar.

    De todas formas, te recomiendo que te pases por nuestro foro:

    http://www.ogreros.org/foro/index.php

    Ahi encontraras otros usuarios que estoy seguro te podran ayudar ademas de mi ;-)

    Saludos :-)

    Responder
  • 5. daniel  |  Septiembre 19, 2008 at 3:39 pm

    Ok… gracias por la ayuda…

    estare por ogreros…

    Saludos…

    Responder
  • 6. daniel  |  Septiembre 19, 2008 at 3:53 pm

    profesorx…
    disculpa la molestia… realice los cambio mencionados y no me genera error…
    gracias por el apoyo… :)

    Responder
  • 7. profesorx  |  Septiembre 19, 2008 at 4:29 pm

    No entendi bien, ¿quedo resuelto o no?

    Responder
  • 8. daniel  |  Septiembre 19, 2008 at 4:37 pm

    si efectivamente sin problemas resuelto todo…
    ahora voy es a realizar los ejemplos de ogre

    Responder

Leave a Comment

Required

Required, hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


Entradas recientes

Categorías

Enlaces

Archivos

Páginas

Meta