Esta página lista una selección de tareas que serían deseables pero no esenciales; cosas que podrían ser útiles pero no serán desarrolladas por el equipo del núcleo. Si estás interesado en ayudarnos y no tienes un tema específico en mente, elige alguno de la lista y haz una nota de que estás trabajando en él. No añadas cosas a esta lista estas tareas han sido aprobadas por el equipo. También puedes crear tu lista de características, pero no garantizamos que se soporten antes que hables con nosotros en los foros primero.

La lista ha salido de las ideas del Google Summer of Code.

Completar sistema de renderizado en DirectX 11


Hay ya un pedazo del sistema de renderizado DirectX 11, pero se necesita más trabajo para implementar las características y el rendimiento de D3D11 y algunos otros escollos.

Necesitarás una máquina con Vista o Windows 7 para esto.

La ID de los materiales de polígonos está soportada en DirectX11 lo que significa que los exportadores, importadores y sistemas de recursos e índices de búfer deberían soportarse.

Algunos otros problemas están descritos en la actual versión del roadmap.

Mejoras en Terrenos


Ogre tiene un nuevo sistema de terreno en la version 1.7 el cual es mucho mejor que en las versiones anteriores. Sin embargo hay características que nos gustaría añadir, tales como:

  • Más generadores de materiales. Para diferentes tarjetas, texturizado detallado, rayleigh scattering
  • Compresión de Vértices
  • Optimización del archivo de datos paginados de terreno.

Texturas sobre la marcha


Ahora mismo, OGRE carga una textura o no lo hace. La carga puede ser hecha en el fondo, pero la textura entera con todos sus mipmaps es siempre cargada. Sería interesante soportar una clase interna LOD para texturas, donde pequeñas texturas puedan ser cargadas en la distancia y reemplazadas automáticamente por texturas de gran calidad de cerca.

Esta característica debería soportar:

  • Cargar sólo el mínimo número de mipmaps precalculados de un archivo DDS como una textura baja LOD, entonces cargar los mips superiores en una nueva textura(copiando los mips bajos en ella)
  • Alternativamente, Cargar los LODs desde dos texturas diferentes, o cargar de una textura detallada y reducir su tamaño durante la carga para el LOD bajo (esta opción es favorable)
  • Procesado de lo anterior en el fondo.
  • Mejoras en las unidades de texturas y Material para el soporte de la configuración anterior.
  • Sombreadores para la transición entre detalles de baja y alta calidad (RTSS)

LLamadas a Animaciones de frame


  • Mejora en el formato .skeleton para incluir eventos de frame en animaciones
  • Permitir a los manejadores ser registrados en AnimationState para que reciban notificaciones de eventos.
  • Los eventos lanzados deben tener en cuenta la interpolación.

Dual-quaternion skinning


  • Implementar dual quaternion skinning como una opción para el skinning por hardware
  • Exponer soporte para él en los programas de vértices
  • Implementación RTSS para generar sombreadores

Imposters


  • Automatizando el proceso de crear imposters, ej: renderizando un subescena a una textura para usar un billboard y reducir su complejidad. Debería incluir la detección cuando la cámara necesita ser actualizada al cambiar de posición la cámara, cuando la cámara se espeja y con múltiples camaras.
  • Impostor de Geometría con Texturas Relief

Utilidad de framework CHC/CHC++


  • Crear una implementación de CHC/CHC++ que sea utilizable con la estructura de escena jerárquica(ej: no un SceneManager específico, pero usable desde la estructura jerárquica de la escena)

Scene Manager: Árbol Híbrido


La implementación de un árbol híbrido permite que el particionado espacial sea dividido en subárboles (octree, kdtree, aabbtree, quadtree) optimizando la geometría estática usando el mejor particionado posible.

Soporte para formato binario de los scripts


Serialización de Materiales, Sombreadores, Sistemas de partículas, cadenas de compositor. Las mallas son un buen ejemplo de como nos puede ayudar.

Una unidad de testeo del framework


Una infraestructura que nos permita definir test para OGRE y correrlos uno tras otro para que podamos saber el estado de la versión, porque OGRE es principalmente gráfico - una parte de la infraestructura nos permitirá correr los test en modo registro para grabar un estado positivo - y tomar una instantánea, esta instantánea sera comparada con los resultados del mismo test ejecutado en modo "test".

Partículas fuera de pantalla


Implementar "GPU gems 3. Capitulo 23. Rápidas, partículas fuera de pantalla" http://http.developer.nvidia.com/GPUGems3/gpugems3_ch23.html

Finalizar el sistema de renderizado de OpenGL ES 2.0


Finalizar las características faltantes del sistema de renderizado OpenGL ES 2.0 que está en construcción. El sistema de renderizado está basado en los sistemas de renderizado de OpenGL y OpenGL ES 1.0. El desarrollador puede usar un emulador de OpenGL ES 2.0 para un desarrollo más fácil sin hardware especial.
http://developer.amd.com/gpu/opengl/Pages/default.aspx o http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp#GLES2