Publicaciones etiquetadas ‘ogre3d’

Ogre3D 1.7: como instalarlo

Escrito por aserrano. Posteado en C++, Desarrollo, Informática, Motores 3D, Ogre

Lo primero que hay mencionar es que a día de creación de este artículo la versión 1.7 todavía está en fase de desarrollo y por tanto puede ser inestable o sufrir cambios o modificaciones.

Vamos a utilizar Ubuntu Linux 9.10 pero para cualquier sistema operativo los pasos serían similares.

Antes que nada habría que instalar todas las dependencias que nos van a hacer falta:

cmake–> como novedad ogre 1.7 usa ahora cmake para su compilación
libfreeimage3–> librería gratuita para acceder a ficheros gráficos como jpeg o png
libboost –> son opcionales, aunque yo os recomiendo su uso
libzzip-dev–> librería para acceder a ficheros zip. Fundamental si queremos compilar los ejemplos.
subversion–> cliente subversion para poder bajar el código fuente de los repositorios ogre3d

Instalamos todas las dependencias con nuestro gestor de paquetes habitual, aptitude, synaptic, apt-get, etc. y bajamos el código fuente:

cd directorio_donde_queramos_los_fuentes
svn co https://svn.ogre3d.org/svnroot/ogre/trunk ogre

Una vez descargado tenemos dos opciones.

La del impaciente. Vamos al directorio ogre y tecleamos lo siguiente:

cmake -G "Unix Makefiles"
make -j2

El primer comando nos genera los ficheros makefile y el segundo los compila. Recuerda que el número -j2 indica los procesos que quieres usar. Si tienes un dual core. Puedes poner 3 ó 4 por ejemplo.

La siguiente opción sería usar cmake-gui.
Una vez que cargue el frontal cmake, en la parte superior indicaremos el directorio donde tenemos el código fuente.
En la siguiente caja indicaremos donde queremos compilarlo.
Podéis poner el mismo trayecto.

Pinchamos sobre configure y luego sobre generate y ya podríamos compilar con “make”

CMake Gui 2.6

Las opciones del diálogo tienen su propia ayuda, pero como más destacable vamos a mencionar CMAKE_BUILD_TYPE, en la que podríamos usar los siguientes parámetros:

Debug –> Compila Ogre3D en modo depuración
Release –> Compilación para ejecución óptima
RelWithDebInfo –> Compilación para ejecución óptima pero con información de depuración incluida.
MinSizeRel –> Ejecución óptima pero de mínimo tamaño.

Tutorial Ogre3D: Creación de un proyecto paso por paso (III)

Escrito por aserrano. Posteado en C++, Juegos, Linux, Motores 3D, Ogre

Una vez inicializado Ogre Procederemos a la creación de la ventana y del SceneManager.

Recordemos que el gestor del escenario es un plugin especializado según el tipo de escenario y pueden ser de los siguientes tipos:

  • ST_GENERIC: Escenarios de propósito general
  • ST_EXTERIOR_CLOSE: Escenarios de exteriores de visibilidad media
  • ST_EXTERIOR_FAR: Practicamente no usado
  • ST_EXTERIOR_REAL_FAR: Escenarios de paisajes con grandes terrenos
  • ST_INTERIOR: Escenarios de interior, por ejemplo, edificios.

Veamos ya como crearlo:

mRoot->initialise(true, "Mi Ventana");	
 
RenderWindow* window = mRoot->getAutoCreatedWindow();
SceneManager *sceneMgr = mRoot->createSceneManager(ST_GENERIC);

A continuación crearemos la cámara que nos permitirá ver el escenario desde el ángulo y con la profundidad y distancia que queramos:

Camera* cam = sceneMgr->createCamera("Camara");
cam->setNearClipDistance(5);
cam->setFarClipDistance(1000);
cam->setAspectRatio(Real(1.333333));
 
Viewport* vp = window->addViewport(cam,0);
vp->setBackgroundColour(ColourValue(1, 0, 0));

Hemos definido para la cámara los valores de distincia mínima y máxima y su relación entre el tamaño x e y de la ventana que hemos creado, 800/600.

Además hemos añadido un viewport a la cámara con fondo de color rojo. Podremos tener tantos como queramos pero recuerda que se ordenan mediante el parámetro z-order y sólo puede existir uno por cada valor de z-order. Los viewport definen los rectángulos donde se visualizarán el rendererizado de la cámara.

Crearíamos ahora el listener que se encargará del renderizado de los frames:

MyFrameListener listener(window);
mRoot->addFrameListener(&listener);
mRoot->startRendering();

Es importante crear el listener antes de comenzar el renderizado de la aplicación o se nos colgará.

Ogre3D Paso a paso II
Ogre3D Paso a paso (y IV)

Nota legal

(C) Antonio Serrano 2012