sábado, 28 de agosto de 2010

REngine, el engine de MProject

Como comenté en los primeros posts, el cliente para MProject utiliza Ogre como engine gráfico. Pero para hacer algo más escalable en vez de insertar código de Ogre directo en el cliente, desarrollé un "mini-engine" con el cual poder desarrollar más fácilmente el cliente, utilizando así una capa de abstracción para facilitarme el desarrollo así como también el futuro cambio a otro engine por si algún día se diera el caso.

Este engine lo llame REngine. No es un engine como tal, si no más bien un conjunto de clases de alto nivel que me ayudan a que todo sea un poco mas fácil. Además de Ogre, también están añadidas las funcionalidades de plugins para Ogre y las siguientes librerías:


  • Plugins de Ogre
    • Caelum
    • Hydrax
    • PagedGeometry
    • ParticleUniverse
  • OIS (Input)
  • MyGUI (Gui)

Os pondré un pequeño ejemplo de un "Hello World" para que veáis lo simple que es :

#include "RGraphics.h"
#include "Log.h"



int main(int argc,char *argv[])
{


    if( !sRGraphics.Init(3) )
    {
         sLog.outError("Failed to Init RGraphics.");
         return -1;
    }


    if( !sRGraphics.setMode(320,240,false,"REngine Test"))
    {
         sLog.outError("Failed to set mode.");
         return -2;
    }


    while(sRGraphics.Render())
    {
    }


  return 0;
}


Como podéis ver con 4 lineas básicamente se inicializa el sistema gráfico .Sin duda este engine será lo primero a ser liberado.

No hay comentarios:

Publicar un comentario