UberElectron 9098f16f81 Sistema de Renderizado de Texto (TTF).
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.
2022-02-21 20:17:47 +01:00
2021-11-08 18:37:59 +01:00
2021-11-08 18:37:59 +01:00
2021-11-08 18:37:59 +01:00

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....
S
Description
Muchos años de trabajo para esto.... Poco a poco. Algún día, funcionará y podremos considerarlo completo.
Readme
13 MiB
Languages
C++ 96.5%
Lua 3.1%
C 0.3%