¿Un software libre para la representación de un videojuego? Te recomendamos Object-Oriented Graphics Rendering Engine (OGRE), un motor de renderizado con una interfaz orientada a objetos para representar escenas 3D.
Fue creado por Steve Streeting en 2001 con el propósito de crear un componente genérico que pudiese ser ampliado a través de plugins. El programa está escrito en C++ y se distribuye bajo licencia LGPL.
Algunas características:
- Es multiplataforma: Windows, GNU/Linux y Mac OS X.
- Permite el diseño a un alto nivel.
- Grafo de escena: a diferencia de programas como Irrlicht3D, Ogre no se basa en la herencia como principio de diseño del grafo, sino en la composición.
- Materiales: se definen mediante un sistema de scripts y permiten asignar o cambiar los materiales de los elementos de la escena sin modificar el código fuente.
- Animación: tres tipos (skeletal, morph y pose).
- Plugins.
Los beneficios que aporta la programación orientada a objetos para Ogre son:
Abstracción
Normalmente las interfaces omiten las pequeñas diferencias entre las implementaciones de una API 3D y un sistema operativo.
Encapsulación
Hay un montón de controladores de estado y acciones de especificación de contexto para realizar en un motor gráfico. La encapsulación permite poner el código y los datos cercanos, permitiendo hacer el código claro y sencillo de comprender, y más fiable, ya que la duplicación está permitida.
Polimorfismo
La posibilidad de que los métodos cambien dependiendo del tipo de objeto que se está usando, incluso si sólo se conoce una interfaz.
Os recomendamos este manual de Mario Velázquez, de la Universidad Carlos III de Madrid. Para saber más, visitad: http://www.ogre3d.org