- Rework tracing system, now using "{}" for formatting instead of the
standard %s,%d,%f formatting that C++ uses.
- Rework enums creators to not take in namespace
- Fix single use CommandBuffers sometimes failing due to indexing them
with the current frame in flight
- Add DropEvent to Window
- Add queue systems when adding/removing components and systems
- Add GlobalData to ECSManager, used to store data that is not specific
to entities
- Add View class, used to for loop all entities that contains the given
Components
- Rework how signaling works
- Framebuffer names are now generated based on Uuids, as such we can
create multiple runtime Framebuffers
- Framebuffers now uses ints instead of uint32_t, to avoid issues where
we do "-framebuffer.GetWidth()", which will return an odd uint32_t
value
- Add some additional AssetRef constructors
- When calling Pipeline::SetDescriptorSets, it now sets all
descriptor sets for all frames that can be in flight. Meaning
SetDescriptorSets doesn't need to be called each render pass.
- Asset will now generate a uuid if it is not inside the meta file
- Device cleanup/idling improved
- FileSystem now prints which file failed to open
- Renderer header file now has the same parameter names as the source file
- Add linux build system using MakeGen
- Fix a swapchain validation error, likelydue to my linux system using a
different vulkan version
- Make DescriptorPool take in amount of descriptors it needs, instead of
allocating a mass amount for every pool, causing loads of RAM/VRAM usage
- Add drag and drop entity to other entities that refers to another
entities (for example PlayerC refers to an Entity camera which follows
the player).
- Introduce new class ComponentHandler which handles all the
Serializing/Deserializing/Editor Gui of Components
- Currently only Deserializing and Editor Gui is implemented for
existing components
- Add Entity Tree View used to select entities to be modified
- Add Entity View used to Add/Remove/Edit Components of the Entity
- Add Asset View which lists all available assets
- Remove gamma correction from the Vulkan renderer
- Add SamplerCreator, used to specify Min/Mag filter
- Add character texture to example project
- Add AnimationSystem, DebugSystem and UiRenderSystem to example project
- Add Abstract Asset class which defines Assets
- Add AssetManager class to keep track of all the Asset
- Add AssetFile class to cache the asset without loading it
- Add UUID class to uniquely identify assets
- Add MetaFile class to load meta asset files
- Refactor UniformBuffers to keep track of the uniforms it contains
- Refactor DescriptorSets to initialize UniformsBuffers and keep track
of all its bindings
- DescriptorSets can now be created from the Pipeline
- Add custom DescriptorSets to Renderer