UberElectron f2bf82e370 Migración del Renderer al nuevo sistema de Drawables.
El Renderer extrae los datos de los drawables, eliminando la clase DrawCall.
Los Drawables utilizan los nuevos Drawables. Aunque falta pulir la forma en que lo hacen.
2022-09-19 20:10:02 +02:00
2022-06-07 22:13:53 +02:00
2022-09-14 19:41:56 +02:00
2022-08-09 18:26:57 +02:00
2022-08-11 12:57:40 +02: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!?
    • Limpiar dependencias entre clases (no es necesario que las texturas o el AssetManager almacenen un ptr al renderer y cosas así).
  • 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...).
  • Revisar Método IsObjectVisible (estoy mezclando vectores de cosas diferentes).
  • Añadir un sistema de zoom/tamaño para la cámara.

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....

JSON / AssetManager

  • Crear un sistema sencillo (un método o algo común para todas las veces que sea necesario) para añadir seguridad al parse y uso de los JSON. De tal forma que se devuelva el error por consola pero no salten exepciones ni mierdas.

Sistema de Escenas.

  • Revisar los métodos para carga/descarga y de cambio de escenas. Creo que se pueden estructurar mejor.
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%