Commit Graph
29 Commits
Author SHA1 Message Date
UberElectron 659b113318 Nuevo Render flow para los Drawables y mejoras.
Nuevo flujo de render para los drawables, que ahora tiene más sentido.
Investigado e implementado finalmente un sistema para no renderizar objetos no visibles.
Optimizaciones varias.
Constructor por defecto para Sprite, utilizando los assets por defecto.
2022-12-18 23:20:13 +01:00
UberElectron 08f566fda6 Cambios en Camera.
Ahora la cámara hereda de Transformable.
Preparando la "proyección" de Rects respecto a Camera.
Probablemente requiera crear la clase Window para ello.
2022-10-25 20:03:36 +02:00
UberElectron 724807e9f2 Assets & AssetManager documentation and security.
Ahora en las tx, el SDL_Rect index 0 es la tx completa por defecto.
Revisamos los Assets y el AssetManager.
Añadimos seguridad en los métodos y controlamos excepciones.
Reescribimos comentarios y recolocamos código.
2022-09-25 19:07:00 +02:00
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
UberElectron 6b87711424 Nuevo Drawable.
Cambiamos un poco la arquitectura del Drawable.
Parece que todo funciona sin necesidad de tocar nada.
2022-09-15 22:33:13 +02:00
UberElectron a0889e78f1 Reorganizamos algunos archivos.
Creamos la carpeta Interfaces para clases utilitarias comunes.
2022-09-14 20:50:39 +02:00
UberElectron 4ee1ccb47a Camera bugfix.
Ahora existe una cámara por defecto en el renderer.
Así, si no hay cámara asignada se utilizará esta.
2022-09-14 19:41:56 +02:00
Daniel-Garmig d141b77eaa Optimizaciones y mejoras de Premake.
Cambiar un par de cosas y hacer abstractos los postbuildcommands.
2022-08-29 19:31:10 +02:00
Daniel-Garmig 132f24720e Some Rendering Stuff.
Se ha añadido un método para cambiar el color de clear.
Se ha abstraido la cámara del renderer para más versatilidad a futuro.
Nota: La implementación de la cámara no es nada segura. Tocará revisarlo
2022-08-29 17:54:34 +02:00
Daniel-Garmig 692812a710 Unificar Encoding.
Revisado que todos los archivos son UTF-8 y espacios como indentación.
2022-08-11 16:47:50 +02:00
Daniel-Garmig 006d223f57 Nueva Clase Engine.
Se ha eliminado la antigua clase Game y movido a la nueva clase Engine.
La clase Engine, encargada de iniciar las cosas, ahora está en el Engine
Además, tiene seguridad en la inicialización.
Ya no se inicia el juego si hay error al cargar libs o sistemas.
2022-08-11 15:16:23 +02:00
Daniel-Garmig b2d6a31275 Nuevo sistema de Escenas.
Nos quitamos del medio la cosa rara del SceneBuilder.
Simplificamos la estructura y la hacemos más o menos segura.
2022-08-11 12:57:40 +02:00
Daniel-Garmig ce1886d3db Bump Dear ImGui version to 1.88. 2022-08-10 00:13:14 +02:00
Daniel-Garmig 614ab37ca5 Soporte Linux.
Tenemos soporte para linux.
Sólo faltaba este pequeño detalle, lo demás parece funcionar.
2022-08-09 19:00:12 +02:00
Daniel-Garmig ae17a6bb33 El soporte para Linux está cerca...
Se ha actualizado premake5 para que soporte VS22 y se ha añadido para linux.
Modificada la configuración de premake para crear los makefiles correctamente en sistemas linux.
Modificados todos los include para ser compatibles con linux (cambiar la barrita \ por / ).
Adiciones al .gitignore para ignorar archivos de .make .
2022-08-09 18:26:57 +02:00
UberElectron b89b031f6c El regreso tras mucho tiempo...
Sinceramente, no sé lo que puede haber aquí.
2022-06-07 22:13:53 +02:00
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
UberElectron d19f4593d5 Event Handlers para Escenas y pruebas con Dear ImGui.
Se a añadido un nuevo método a las escenas que permite pasar eventos para procesarlos.
He realizado pruebas varias con Dear ImGui.
2022-02-14 22:10:11 +01:00
UberElectron 77d78db774 Cambios en el renderer para facilitar el uso de ImGui por ahí, fuera del propio renderer.
Implimentado un sistema de cámara y la consiguiente conversión entre WorldCoords y ScreenCoords.
2022-01-31 20:59:07 +01:00
UberElectron 92f743edf2 Nuevo sistema de escenas mediante el uso de un SceneBuilder polimófico. De esta forma sólo habrá una escena cargada en cada momento.
Actualización de las librerías Vendor Dear ImGui y SDL2 a sus últimas versiones. (Es posible que actualicemos ImGui al "Docking Branch" en un futuro).
Preparación inicial para el renderizado mediante ImGui (SDL+SDL_Renderer). (Hará falta un pequeño rediseño al renderer para hacer posible el renderizado de ImGui fuera de UE).
2022-01-26 21:14:27 +01:00
UberElectron a9180fde92 Rediseño del sistema de Assets para simplificar las texturas y los "SpriteSheets" que ya no son una clase.
Modificada la clase Sprite para adaptarse al nuevo funcionamiento de las texturas.
Extraidas las clases Drawable y Transformable de Sprite, para poder hacer más objetos con esas características.
Implementada una clase Time que calcula DeltaTime y limita los FPS. Al fin limpiamos el Main y eliminamos todo este código temporal.
Cambios al sistema de escenas, pero se acerca un refactor completo al sistema.
Hace bastante desde el último Commit. Ahí va todo.
GLHF!
2022-01-20 20:10:19 +01:00
UberElectron a565bcfad2 Primera versión del sistema de escenas (probablemente sea una aproximación bastante incorrecta. Además, no se han realizado apenas pruebas).
Sistema de Logging (¡Al fin!).
2021-12-07 23:38:07 +01:00
UberElectron e9861e43db Some Refactor, Redesign and comments.
Eliminamos la clase Game para mover la ejecución base al Main.
More Stuff.
2021-12-05 19:19:03 +01:00
UberElectron 5d92a945ab Late Night Codig Time (21/11/21) 2021-11-21 04:28:33 +01:00
UberElectron 3ec5e7329b Primera implementación Sprite + renderer changes 2021-11-12 18:54:19 +01:00
UberElectron 25dcfb03fc Solved memory leak in renderer.. 2021-11-08 23:32:22 +01:00
BuildTools ce7c79dade Small changes in renderer design. 2021-11-08 23:04:17 +01:00
BuildTools dc1e910d23 Init repository 2021-11-08 18:37:59 +01:00
UberElectron 2f9b548835 Initial commit 2021-11-08 17:33:01 +00:00