- Fixed material padding
- Lighting desc sets now have a buffer at binding 0 to store light counts.
- Added position, normals, albedo resources in render graph
- Added pure copy compute shader (used instead of kirsch)
- Created sparse set for lights
- Note that while the instanced attribute contains both EID and layer light index and in the future potentially more, the objects still write to a uint framebuffer.
- Light layer index is in a different frame buffer than the eid one.
- Updated shaders to accommodate light layer index.
- Changed the eid buffer for instanced rendering to a vec2 (potentially vec3 or 4), to pass other types of data like light layer index.
- Renamed some render graph nodes and subpasses. Added a dummy render pass to transition the scene to read only optimal.
- offscreen buffer resource now transitions to eShaderReadOnlyOptimal instead of eGeneral
- 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
Descriptor set layouts now have set index stored in them
It should be noted that when passed into a pipeline layout as global descriptor sets, these don't matter since the pipeline layout will use these in the order that they are passed in.