9098f16f81df3e838595d452b075007414a4a8b3
Hemos implementado un sistema para el renderizado de textos mediante fuentes TTF. Para ello utilizamos la librería SDL_TTF. Se ha creado una clase Wrapper (UE::Font) que gestiona una fuente. Está diseñado para poder tener un cache de fuentes de diferentes tamaños. Es posible que hagamos un refactor al AssetManager para convertir las texturas a un Wrapper (más que nada para limpiar el código del AsMng y llevarme la responsabilidad de las texturas a otro sitio.
UberGame1-Test
Repositorio principal de UberEngine. Sin mucho más.
To-Do:
General / Arquitectura
- Reestructuración completa de la clase Game y del "Entry Point".
- Convertir la clase Game a Static completamente.
- Unificar todas las inicialziaciones de librerias en una función en UberEngine.
- ¿¡Dividir entre la inicialización del propio juego/app y la de los sistemas del motor!?
- Revisar la inclusión de librerias en los headers.
- ¡DOCUMENTACIÓN DE LA ARQUITECTURA! Quizás comentar un poco lo que hace o se supone que hace cada método. O si alguno es muy complejo, comentar el funcionamiento.
- Crear un conjunto de tipos (typedef) de UberEngine para encapsular los vectores de GLM. (Son muy largos: glm::vec<4, int, glm::highpacked> -> UE_Color ó UE_Vec4).
- Algún día, tocara revisar los cientos de Warning que hay...
Renderer:
- Reestructurar la arquitectura de cola de renderizado del Renderer (El sistema de DrawCalls tiene sus problemillas...).
Drawables:
- ¿Mover isActive al Drawable e implementarlo a nivel global (en el renderer)?
- Métodos para la conversión de coord World-Screen / Screen-World.
Fonts / Text rendering / TextBox
- Las fuentes no siguen el modelo estandar de Assets. El Asset contiene directamente el objeto, no un documento de datos del objeto.
- Revisar el sistema de fuentes de assetManager.
- No se cierran (TTF_CloseFont) las fuentes al salir.
- Revisar el correcto funcionamiento de los métodos de TextBox.
- Investigar formas de cambiar el tamaño al texto (TextBoxs) sin tener que modificar la fuente.
Memory Leaks:
- AssetManager: Al eliminar una textura, no limpiamos el conjunto de SDL_Rects asociado.
- AssetManager: Creo que también hay que limpiar las fonts cargadas....
Description
Muchos años de trabajo para esto.... Poco a poco.
Algún día, funcionará y podremos considerarlo completo.
13 MiB
Languages
C++
96.5%
Lua
3.1%
C
0.3%