Added Serialization/Deserialization
Added serialization and deserialization of scenes, entities and components with the exception of collider component and renderable component
- This new cursor position is relative to where the viewport is rendering
- Window resize callback in Graphics system now checks if editor is enabled before signaling for resize. This is because editor will handle the signaling for resizing when its enabled. When its disabled, the graphics system will signal itself to resize when the window resize callback is called.
world render graph now only renders to "Scene" resource.
Editor render graph renders to "Present" swapchain image.
Removed some unnecessary if statements slowing down the resizing
Printing for success also disabled for now
- World renderer graph add new resource for scene
- G-Buffer Write subpass now renders offscreen to a color attachment
- Added a new subpass "Scene layout transition" to get vulkan to help transition our scene image layout to shader read
- Added back SHEDITOR check
- Created a post offscreen render system to create the necessary objects
- SH_ATT_DESC_TYPE is now SH_ATT_DESC_TYPE_FLAGS. Render graph resources also now store a bit field instead of a single type.
- Render graph nodes now have more customization when it comes to registering resources. They now have the option to not clear resources on begin.
Collider Component Inspector, Editor routine
Added inpector view for collider component (WIP)
Converted Editor to SHSystem (i feel dirty now) so that it can have a routine
Converted Editor update to a SHSystemRoutine so that the routine can be sequenced between some graphics system routines.
- Buffer now has function to get data from mapped pointer if it exists
- Batches now also pass a buffer of EIDs to the GPU
- Global vertex attributes now have 1 extra instanced attribute for storing EntityIDs
- Render graph resources now have a usage flags on top of the usage flags calculated in the graph AddResource function. This is to tell vulkan that we want some resources to be copyable for example (EID render target copy to buffer).
- Mouse pick system stores eid picked