Go to file
Brandon Mak 8e2c32d110 Graphics refactor more or less tested and working
- Descriptors sets are now independent from a set index. Camera matrices for example can be bound to set index 1 for the batching system but index 2 for compute shaders.
- Truly global descriptors sets (misc data, textures and light data) are now manually bound to a global static class that allows retrieval of these sets to be bound whenever in the middle end. 
- Predefined descriptor set layouts (but not truly global such as camera data, materials and font) have their layouts predefined in a class and used for descriptor set initialization within the middle end. The sets themselves are allocated using these layouts (also accessible globally). 
- Descriptor sets that are more flexible with their bindings such as render graph resources are introspected from shaders and not predefined at all (though their types are recorded in SHGraphicsPredefinedData to avoid magic numbers when binding descriptor sets in some systems).
- Systems now have fixed mappings for descriptors used in shaders and these are defined in SHGraphicsPredefinedData. Batching for example has 3 fixed descriptors: Static global bound at 0, camera data bound at 1, materials bound at 2.
- Viewports no longer contain renderers and renderers no longer contain render graphs. The graphics system only has 1 render graph and subpasses can have both viewports and renderers bound to them to have options for viewport/scissor and camera settings. 
- Light data is now bound before every compute system.
- There is only 1 render graph in the entire system and contains only 6 nodes: G-Buffer pass (with lighting compute pass), debug draw with depth, debug draw, screen space pass, dummy pass for transition to input attachment for imGui and lastly the imGui pass for rendering editor to swapchain.
2022-12-29 14:29:25 +08:00
.github/ISSUE_TEMPLATE Alter template 2022-11-14 18:26:31 +08:00
Assets Graphics refactor more or less tested and working 2022-12-29 14:29:25 +08:00
Premake Replaced premake exe with custom compiled one 2022-09-15 09:31:37 +08:00
SHADE_Application Added debug draw of wire spheres, filled cube and filled sphere 2022-12-15 18:08:12 +08:00
SHADE_CSharp Disabled xmldoc build, admin mode no longer required to build the engine 2022-11-22 20:59:17 +08:00
SHADE_Engine Graphics refactor more or less tested and working 2022-12-29 14:29:25 +08:00
SHADE_Managed Updated C# Gizmos class with DrawCube and DrawSphere in 2022-12-15 23:33:53 +08:00
.editorconfig Added .editorconfig to enforce 2-spacing indentation 2022-10-25 15:39:18 +08:00
.gitignore select picked entity in hierarchy panel 2022-10-18 19:08:31 +08:00
Dependencies.bat Text Rendering WIP 2022-11-14 18:36:26 +08:00
Dependencies.lua Text Rendering WIP 2022-11-14 18:36:26 +08:00
generate.bat Modified generate.bat to delete all generated files before generating files 2022-09-20 16:37:29 +08:00
premake5.lua Text Rendering WIP 2022-11-14 18:36:26 +08:00