Commit Graph

442 Commits

Author SHA1 Message Date
Sri Sham Haran e609b5634a Material Inspector
Can set material
2022-11-02 21:31:27 +08:00
Xiao Qi d1f624b2eb Removed SHMeshData declaration/definition in graphics middle end
Renamed some data members in SHMeshData
Replaced calls and references to mesh data in Primitive Generator
2022-11-02 21:09:53 +08:00
Kah Wei c68c5adc0d Added GetTextureHandle() to SHGraphicsSystem 2022-11-02 17:51:07 +08:00
Kah Wei 4721a133e1 Added a way to retrieve texture handles from texture indices 2022-11-02 17:43:28 +08:00
Brandon Mak 53397e884d Merge remote-tracking branch 'origin/main' into SP3-1-Rendering 2022-11-02 17:18:44 +08:00
Brandon Mak ebc94225e7 Merge remote-tracking branch 'origin/main' into SP3-1-Rendering 2022-11-02 17:04:31 +08:00
Kah Wei d207042fec Reworked SHMaterialSpec and SHMaterial loading system 2022-11-02 16:56:38 +08:00
Kah Wei d818adf2a2 Fixed DrawPoly() 2022-11-02 15:34:35 +08:00
Kah Wei f0ef9fc0cf Fixed validation errors due to debug draw 2022-11-02 15:13:12 +08:00
Kah Wei 82e0e4df5c Added editor gridlines and cardinal axes 2022-11-02 10:33:17 +08:00
Kah Wei 41e1f01f29 Added support for persistent debug draw 2022-11-02 10:11:13 +08:00
Kah Wei 1371302a40 Generalised Draw functions in SHDebugDrawSystem for potentially any number of draw queues 2022-11-02 09:34:36 +08:00
Kah Wei 5f7b28e8a0 Added SHDebugDraw convenience static class for debug drawing 2022-11-02 01:11:28 +08:00
Kah Wei dc8ed48be3 Fixed debug draw system cube rendering 2022-11-01 21:49:57 +08:00
Sri Sham Haran 129f92e4b6 mat inspector properties handling (WIP) 2022-11-01 21:49:42 +08:00
Kah Wei 904d6be6b0 Merge branch 'main' into SP3-1-DebugDraw2
# Conflicts:
#	SHADE_Engine/src/Graphics/MiddleEnd/Interface/SHGraphicsSystem.cpp
#	SHADE_Engine/src/Graphics/MiddleEnd/Interface/SHGraphicsSystem.h
2022-11-01 21:00:55 +08:00
Kah Wei 0096bc4975 Debug Draw fixes 2022-11-01 20:32:35 +08:00
Brandon Mak b0d08d27fd SSAO is fully implemented 2022-11-01 20:10:59 +08:00
Kah Wei e1587c7252 Fixed SetMesh() not working and loading of mesh and textures 2022-11-01 14:56:03 +08:00
Brandon Mak 5852c409e6 SSAO WIP 2022-11-01 11:57:08 +08:00
Kah Wei b35ca86ae9 BatcherDispatcher should now account for mesh changes properly 2022-11-01 00:53:15 +08:00
Brandon Mak 53b9c8f746 SSAO WIP 2022-10-31 23:28:46 +08:00
Brandon Mak 2bd3b45ba0 SSAO sort of working 2022-10-31 20:49:28 +08:00
Kah Wei 5bb728663c Materials are now serializable and deserializable 2022-10-31 17:47:38 +08:00
Kah Wei 797f4bfd75 Fixed shader changes 2022-10-31 17:35:52 +08:00
Kah Wei a9b9695155 Merge branch 'main' into SP3-1-SerialisedRenderable 2022-10-31 16:31:22 +08:00
Kah Wei 42a80bfc3b Merge branch 'main' into SP3-1-SerialisedRenderable 2022-10-31 15:31:38 +08:00
Kah Wei 66529474cd Added Application class equivalent to SHADE_Managed 2022-10-31 14:51:50 +08:00
Kah Wei 5eaf2b55aa Added WIP Application class and adjustments to how ScriptStore destroys scripts (SpdLog errors) 2022-10-31 12:20:46 +08:00
Brandon Mak 94a57219da Created CPU and GPU data for SSAO
Renderpass for SSAO not yet done (that's next)
2022-10-31 10:32:32 +08:00
Brandon Mak 997ce3011a Screw you SPIRV-Reflect and screw you GLSL
- Pipeline layouts now have a parameter to decide if a binding with a buffer descriptor stores a dynamic type instead.
- SHRenderGraphNodeCompute has catered for this as well through its ctor params
2022-10-30 23:15:52 +08:00
Brandon Mak 647182241e Fixed a buy with view space lighting calculations 2022-10-30 19:21:02 +08:00
Kah Wei b1a933a2c3 Merge branch 'main' into SP3-1-SerialisedRenderable
# Conflicts:
#	Assets/Shaders/TestCube_FS.shshaderb
#	Assets/Shaders/TestCube_VS.shshaderb
#	SHADE_Engine/src/Graphics/MiddleEnd/Interface/SHGraphicsSystem.cpp
2022-10-30 17:14:28 +08:00
Brandon Mak 39b5ac0774 LIGHTING NOW DONE IN VIEW SPACE 2022-10-30 16:52:40 +08:00
Brandon Mak 4711a131eb Shifted the lighting system run outside the viewport loop.
- Since lighting is only calculated in the world render graph for now, this will do just fine
- Renderer takes in a view and projection matrix and does the transpose of the multiplication in the renderer
2022-10-30 16:35:55 +08:00
Sri Sham Haran ca659e272b Designate keys for Copy/Paste of entities in hierarchy panel
Change default brush for SHWindow so we don't flashbang everytime we run engine
2022-10-30 15:01:36 +08:00
Brandon Mak fad9d37cd4 Lighting data is now copied to CPU buffer and GPU buffer every frame
Since lighting will be done in view space, the camera's constant movement will make it so that the light data is often changing. Keeping track of these changes for optimization might prove to be counter productive. Copying data every frame might just be more ideal.
2022-10-30 14:17:36 +08:00
Brandon Mak 94f579e8e3 CompileAsset function from Asset manager is working 2022-10-30 13:25:15 +08:00
Sri Sham Haran 86e8415845 Merge branch 'main' into SP3-4-Editor 2022-10-30 11:28:01 +08:00
Brandon Mak 7c5a24b8e1 Merge remote-tracking branch 'origin/main' into SP3-1-Rendering 2022-10-30 00:00:17 +08:00
Kah Wei cac93b7df9 Fixed indentation issue in SHGraphicsSystem 2022-10-29 23:56:37 +08:00
Brandon Mak 5da7638c0a Compute barriers 2022-10-29 22:52:15 +08:00
Brandon Mak 6f2ca54f7e WIP compute barriers 2022-10-29 21:36:11 +08:00
Brandon Mak 25db4db99a Catered to light comp deletion and solved minimize bugs
Editor can also now shift the viewport around without Vulkan vomiting validation layers
2022-10-29 17:00:35 +08:00
Kah Wei dbf1b0b8de Merge branch 'main' into SP3-6-c-scripting
# Conflicts:
#	SHADE_Managed/src/Components/Collider.hxx
2022-10-29 02:32:21 +08:00
Kah Wei 3c2e51cb0b Built-in shaders are now fully loaded via the SHResourceManager 2022-10-29 01:38:29 +08:00
Sri Sham Haran f9f818b49c Merge branch 'main' into SP3-4-Editor 2022-10-28 20:31:51 +08:00
Kah Wei 541f44c039 Fixed bugs in SHMaterial, SHMeshLibrary and removed unused functions in SHTextureLibrary 2022-10-28 19:02:54 +08:00
Sri Sham Haran fa6e3cf1df Light Component Serialization & Inspector 2022-10-28 17:58:16 +08:00
Brandon Mak f110f9b16b Removed isActive from component 2022-10-28 15:56:22 +08:00
Brandon Mak baa77e5d37 setter for culling mask 2022-10-28 14:10:08 +08:00
Brandon Mak 5ab2ebbff4 Getters for light 2022-10-28 13:54:46 +08:00
Kah Wei 621dae4c40 All Vec3 and Vec4s in materials are now automatically set to full 1.0 vectors 2022-10-28 13:32:13 +08:00
Kah Wei e733cd2e1c Fixed bug where changes to meshes were not saved by batching system 2022-10-27 23:18:02 +08:00
Brandon Mak 0cab0107b2 Fixed minimizing by resetting command pools and fences 2022-10-27 19:37:05 +08:00
Kah Wei cc1fe71d4b Serialization and deserialization of SHRenderable to use default material for now 2022-10-27 19:31:00 +08:00
Kah Wei 003a99ae07 Merge branch 'main' into SP3-1-SerialisedRenderable
# Conflicts:
#	SHADE_Engine/src/Graphics/MiddleEnd/Interface/SHGraphicsSystem.cpp
#	SHADE_Engine/src/Graphics/MiddleEnd/Interface/SHRenderable.h
#	SHADE_Engine/src/Graphics/RenderGraph/SHRenderGraphNode.cpp
#	SHADE_Engine/src/Graphics/RenderGraph/SHSubpass.cpp
#	SHADE_Engine/src/Graphics/RenderGraph/SHSubpass.h
2022-10-27 19:30:54 +08:00
Brandon Mak 09c5843cdb Ambient lighting added 2022-10-27 19:02:55 +08:00
Sri Sham Haran c7e2116df0 Fix editor component view bug where fields from different components that have the same name clash 2022-10-27 18:34:19 +08:00
Xiao Qi b5a1d5ea88 SP3-282 Restructured loaders and compilers
Completed shader compiling and loading
2022-10-27 12:54:58 +08:00
Brandon Mak b7b3ef08ab Some lighting fixes 2022-10-27 11:31:11 +08:00
Kah Wei 2108d9e1f6 Added triple buffering to SHDebugDrawSystem 2022-10-27 10:12:30 +08:00
Brandon Mak da3edb2b6b Working abit more now. Error with device extension thingy. 2022-10-27 02:46:38 +08:00
Brandon Mak ae88c70936 Lighting shader kind of done (still has bugs) 2022-10-27 02:28:38 +08:00
Xiao Qi 5154b579d7 Re-restructured compilers to be more self contained
Loaders only load internal binary asset files
2022-10-26 23:07:01 +08:00
Brandon Mak 6e9f54987f Prepared light global desc set layout data and render graph resources
- 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
2022-10-26 22:40:04 +08:00
Xiao Qi f2e2b21d47 Merge branch 'main' into SP3-13-Assets-Manager 2022-10-26 18:40:10 +08:00
Kah Wei 57027da80b Integrated into SBApplication and accounted for case where number of points to draw is 0. 2022-10-26 16:27:58 +08:00
Sri Sham Haran 51489ecb3b Merge branch 'main' into SP3-4-editor_fix 2022-10-26 16:07:01 +08:00
Kah Wei 550b8d85f0 Added SHDebugDrawSystem class 2022-10-26 16:05:50 +08:00
Kah Wei 632df80d06 Refactored SHPrimitiveGenerator and added Sphere generation support 2022-10-26 16:05:18 +08:00
Brandon Mak 43ea33cabf Merge remote-tracking branch 'origin/main' into SP3-1-Rendering 2022-10-26 15:26:41 +08:00
Sri Sham Haran d9584a0e39 Changed SHEditor.hpp to .h
Handle editor camera update when interacting with viewport window only
2022-10-26 14:32:00 +08:00
Brandon Mak 5637fb707f Tested light component. Values reflected in renderdoc correctly
- 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.
2022-10-26 02:14:43 +08:00
Xiao Qi c0c6d35b29 Split function in shader module library to get vk flag conversion
Changed some calls to get build in modules
2022-10-26 01:53:08 +08:00
Brandon Mak 4b7a837469 Fixed some bugs in render graph
- 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
2022-10-26 01:08:02 +08:00
Brandon Mak 5016600397 Lights WIP 2022-10-25 23:39:35 +08:00
Xiao Qi 84ce369607 Changed shader module library to Import shaders and reflect all on its own
Preparation for separation for built in shaders distinction
2022-10-25 21:04:21 +08:00
Brandon Mak 0395df5c63 Lights WIP (bug fixes) 2022-10-25 19:59:16 +08:00
Kah Wei 416c571fd2 Added proper deletion of VKSamplers 2022-10-25 17:40:13 +08:00
Xiao Qi b4726ae992 Removed Shader source library, changed header and enum type locations 2022-10-25 15:43:36 +08:00
Kah Wei 9f98bed4d1 Fixed batching renedering the wrong number of instances 2022-10-25 15:11:01 +08:00
Kah Wei c2e51dc603 Fixed deletion crash caused by Renderables 2022-10-25 14:31:28 +08:00
Brandon Mak 869916cb2a Lights WIP 2022-10-25 13:47:27 +08:00
Brandon Mak 8fb0eddcc1 Lights WIP 2022-10-25 00:00:22 +08:00
Xiao Qi 8a01065641 Moved original shader source library
Added functions to asset manager to get all by type
2022-10-24 04:17:51 +08:00
Xiao Qi 254fc4e641 SP3-284 Restructured Shader source loader into asset manager to follow design pattern for loaders and asset data 2022-10-24 03:54:28 +08:00
Brandon Mak a81ef91373 Removed some commented code 2022-10-23 16:47:39 +08:00
Brandon Mak 982f2de286 Merge remote-tracking branch 'origin/main' into Rendering-Camera-Integration 2022-10-23 16:36:22 +08:00
Brandon Mak 64002c6f2b Camera Director integrated
Still has bug
2022-10-23 16:04:58 +08:00
Brandon Mak d4fe63722a WIP (TODO: remember to change commit message) 2022-10-23 15:05:31 +08:00
Kah Wei 6ea5ae7707 Added serialization and deserialization of pipeline on the material (no shader loading yet) 2022-10-22 21:36:02 +08:00
Kah Wei 9d8dfd334f Added serialization interfaces for Material (missing Shader) 2022-10-22 19:38:02 +08:00
Kah Wei 76f83068ba Added type information to SHShaderBlockInterface variables 2022-10-22 02:07:28 +08:00
Brandon Mak cc6e2189fa WIP 2022-10-21 20:56:14 +08:00
Kah Wei 1ea482ff38 Added serialization of SHRenderable (only Mesh) 2022-10-21 18:36:56 +08:00
Kah Wei 7e15edb052 Completed initial implementation of SHResourceManager 2022-10-21 13:58:27 +08:00
Brandon Mak e8073bb67f WIP 2022-10-21 08:42:58 +08:00
Brandon Mak c252e4ce4b Some restructuring with render graph storage.
Lesser parameters passed around.
2022-10-21 07:01:51 +08:00
Brandon Mak c177dabcd0 WIP (not working) 2022-10-20 19:36:43 +08:00
Kah Wei 0fadbc8a9d Renamed Handle, ResourceManager and ResourceLibrary to SHHandle, SHResourceHub and SHResourceLibrary 2022-10-20 19:00:36 +08:00
Brandon Mak 603470eeb6 Fixed some camera resizing issues 2022-10-19 17:06:37 +08:00
Brandon Mak d9136de134 Integrated Daniel's camera
Still need to integrate camera directors
2022-10-19 16:53:45 +08:00
Brandon Mak 284ee12205 Broken Camera 2022-10-19 15:32:07 +08:00
Sri Sham Haran 15a17deaf0 select picked entity in hierarchy panel 2022-10-18 19:08:31 +08:00
Brandon Mak 9ce5a4a47b Mouse picking system now uses cursor returned from editor
- 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.
2022-10-18 17:41:14 +08:00
Brandon Mak e76bc6ef58 World render graph now doesn't render to swapchain image.
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
2022-10-18 02:41:27 +08:00
Brandon Mak 7b7533420e WIP 2022-10-18 01:12:03 +08:00
Brandon Mak 17b71393f3 Restructured abit 2022-10-17 16:50:53 +08:00
Brandon Mak 95ee4b7b55 Resize half working 2022-10-16 19:42:44 +08:00
Brandon Mak c16bea2d39 WIP 2022-10-16 17:35:15 +08:00
Brandon Mak 1117ecc5ef WIP 2022-10-16 17:31:53 +08:00
Brandon Mak 0d02ece4c1 Wrote handle resize for mouse picking objects 2022-10-16 16:28:29 +08:00
Brandon Mak 2830dad8e3 Fixed Kai Wei's issues (sampler move ctor never move device :D) 2022-10-16 15:35:32 +08:00
Brandon Mak 808274fce0 Lots of changes
- 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.
2022-10-16 14:16:14 +08:00
Brandon Mak faa55847cb Mouse picking is working from rendering side
- 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
2022-10-14 11:52:15 +08:00
Brandon Mak ab09d78e42 removed routines for graphics from application (remember to add back after ingui update routine is added).
Scene graph and physics system had some extra couts
input system bug fix (this change is now in main)
Mouse pick system wip
2022-10-14 00:08:14 +08:00
Brandon Mak 0a3d211f02 Added a render target to store entity ID
Pipelines created from pipeline library now checks if the resources pointed to by a subpass requires blending and adds a blend state accordingly.
Fragment shader writes to this new render target for testing (works)
2022-10-13 16:57:08 +08:00
Brandon Mak 0dba60f9f1 Small fix 2022-10-02 03:09:09 +08:00
Kah Wei 45514ac77e Fixed warnings and errors 2022-10-02 03:06:13 +08:00
Brandon Mak 4771fbfb76 WIP 2022-10-02 02:28:50 +08:00
Kah Wei e5df98aaa6 Added missing move assignment and extra check for command buffer destructor 2022-10-02 02:00:11 +08:00
Brandon Mak d432822608 Merge remote-tracking branch 'origin/main' into SP3-1-Rendering 2022-10-02 01:13:43 +08:00
Brandon Mak 9fabb7d672 Window can close properly (with the exception of scene graph dtor crash) 2022-10-02 01:13:04 +08:00
Sri Sham Haran 8a6ef1fc2d Merge remote-tracking branch 'origin/SP3-1-Rendering' into SP3-1-Rendering 2022-10-02 01:01:50 +08:00
Sri Sham Haran 9e8b4414d1 add window close callback 2022-10-02 01:00:07 +08:00
Kah Wei 201ce17a40 Fixed validation errors when closing the app 2022-10-02 00:56:34 +08:00
Brandon Mak 64d1c2ab2e Minimize is now working 2022-10-02 00:47:26 +08:00
Brandon Mak 32a3cc0674 Merge remote-tracking branch 'origin/SP3-1-Rendering' into SP3-1-Rendering 2022-10-02 00:00:07 +08:00
Xiao Qi 61e353164b Fixed all asset related warnings 2022-10-01 23:57:26 +08:00
Brandon Mak 0f13476c08 Merge remote-tracking branch 'origin/SP3-1-Rendering' into SP3-1-Rendering 2022-10-01 23:57:13 +08:00
Brandon Mak e2b86545bb Window resize working 2022-10-01 23:57:08 +08:00
Sri Sham Haran 77653ebde5 add window isMinimized 2022-10-01 23:56:45 +08:00
Kah Wei 1a14e5241b Added names for SHGraphicsSystem Routines 2022-10-01 23:14:42 +08:00
Brandon Mak 1a725c24e2 Stored renderpass attachement information in SHVkRenderpass 2022-10-01 21:25:22 +08:00
Brandon Mak b657ad8884 Handled resizing for the render graph resource (not tested) 2022-10-01 16:33:16 +08:00
mushgunAX 0360a8bfa1 made the Input Manager NOT be a System anymore 2022-10-01 14:34:30 +08:00
Brandon Mak 78f216e445 Rendered multiple racoons 2022-09-28 20:33:29 +08:00
Brandon Mak 2df9252e17 Fixed material desc set binding 2022-09-28 15:31:37 +08:00
Kah Wei d9582cd0bd Fixed first instance in MDI call being wrong 2022-09-28 14:47:50 +08:00
Brandon Mak a23f4f5218 Merge remote-tracking branch 'origin/SP3-1-Rendering' into SP3-1-Rendering 2022-09-28 10:28:19 +08:00
Brandon Mak d9cdf26098 Changed depth buffer format 2022-09-28 10:28:12 +08:00
Kah Wei d71fbc22de Merge branch 'SP3-1-Rendering' of https://github.com/SHADE-DP/SHADE_Y3 into SP3-1-Rendering
# Conflicts:
#	TempShaderFolder/TestCubeFs.glsl
#	TempShaderFolder/TestCubeFs.spv
2022-09-27 21:07:55 +08:00
Kah Wei 61219f5136 Added tests for material binding and fixed some crashes 2022-09-27 21:06:14 +08:00
Brandon Mak 70940534e1 Merge remote-tracking branch 'origin/SP3-1-Rendering' into SP3-1-Rendering 2022-09-27 20:07:29 +08:00
Brandon Mak b7adf8815b Fixed camera. Can see texture now 2022-09-27 19:18:45 +08:00
Kah Wei 04b452543c Modified TextureLibrary to use SHTextureAsset instead of SHDDSAsset 2022-09-27 16:05:47 +08:00
Kah Wei 10b22374c0 Merge branch 'main' into SP3-1-Rendering
# Conflicts:
#	SHADE_Application/src/Scenes/SBTestScene.cpp
2022-09-27 15:48:51 +08:00
Kah Wei b3417c2011 Made SHGraphicsGlobalData static and modified SHBatch to generate and bind material descriptor set 2022-09-27 15:44:36 +08:00
Kah Wei 76617ae571 Enabled Multi-Draw Indirect feature 2022-09-27 14:12:14 +08:00
Kah Wei 65c67c14b7 Fixed crash if no textures were loaded 2022-09-27 14:11:56 +08:00
Kah Wei e9496bead6 Fixed bug where different Renderables of different meshes are thrown into the same SubBatch 2022-09-27 13:43:59 +08:00
Brandon Mak 187329c384 Fixed texture issues 2022-09-27 12:02:06 +08:00
Kah Wei 3e2bcf28b6 Added texture loading that is almost working 2022-09-26 20:59:20 +08:00
mushgunAX 3b0ea251f3 mouse wheel delta poll 2022-09-26 18:08:59 +08:00
Kah Wei a06c30266e Merge branch 'main' into SP3-1-Rendering 2022-09-26 17:56:30 +08:00
Kah Wei 5ac90eebec Fixed compilation errors 2022-09-26 17:26:33 +08:00
Kah Wei 927944d55a Merge branch 'SP3-1-Rendering' of https://github.com/SHADE-DP/SHADE_Y3 into SP3-1-Rendering 2022-09-26 17:18:55 +08:00
Kah Wei d938007d8a Added TextureLibrary updating of descriptor sets 2022-09-26 17:18:51 +08:00
Kah Wei 5e7ffd6028 Added SHVkSampler and SHVKSamplerCache 2022-09-26 16:41:57 +08:00
Brandon Mak 0a024e1b2d Separated render graph contents into separate files 2022-09-26 14:49:48 +08:00
Sri Sham Haran 247930ea68 Merge branch 'main' into SP3-4-editor_fix 2022-09-26 14:04:02 +08:00
Brandon Mak 9fe5793dd7 Split the render graph into multiple files
doesn't compile
2022-09-26 09:37:59 +08:00
Brandon Mak 6d68e6cb5e FIXED MY SHIT WHEE
(render graph color present attachment now have correct layout)
2022-09-26 00:38:36 +08:00
Kah Wei a5c804ca8b Fixed SHRenderGraph not moving the batcher 2022-09-26 00:08:32 +08:00
Brandon Mak 8649833604 subpass not null anymore 2022-09-25 23:45:05 +08:00
Brandon Mak dc6289e8cf WIP 2022-09-25 23:25:51 +08:00
Brandon Mak 8ac2c39e2b Fixed some render graph ctors and added if checks for buffers 2022-09-25 23:13:37 +08:00
Kah Wei fc5ff763f3 Added SHMaterialInstanceCache 2022-09-25 22:55:14 +08:00
Sri Sham Haran 335c19cfc7 Editor 2022-09-25 22:33:07 +08:00
Kah Wei a197ae842c Fixed crash on AMD GPUs resulting from Nvidia treating UniformBuffers and UniformBuffersDynamic as the same 2022-09-25 21:46:57 +08:00
Kah Wei 15f12a2608 Fixed warnings in SHBatch.cpp 2022-09-24 02:13:09 +08:00
Kah Wei 759c87e2a1 Material data on the GPU is now updated when material data changes 2022-09-24 02:07:47 +08:00
Brandon Mak 32278e1564 Merge remote-tracking branch 'origin/SP3-1-Rendering' into SP3-1-Rendering 2022-09-23 18:50:52 +08:00
Brandon Mak bd54b16e01 Ctor for compute pipelines 2022-09-23 18:50:40 +08:00
Kah Wei bb38246111 Added stress test code for 20000 objects 2022-09-23 18:49:04 +08:00
Kah Wei 77cccd63be Renderables now use TransformComponent's matrix 2022-09-23 16:41:44 +08:00
Kah Wei 23f0f9f77e Triple buffered the batching buffers 2022-09-23 16:24:35 +08:00
Kah Wei 5c4384b589 Fixed SHVkBuffer initial copy data for mapped buffers and made the cube spin 2022-09-22 20:53:03 +08:00
Kah Wei c4ab45ad34 Merge branch 'main' into SP3-1-Rendering
# Conflicts:
#	SHADE_Application/src/Scenes/SBTestScene.cpp
#	SHADE_Application/src/Scenes/SBTestScene.h
#	SHADE_Engine/SHADE_Engine.vcxproj
#	SHADE_Engine/SHADE_Engine.vcxproj.filters
2022-09-22 20:51:33 +08:00
Kah Wei 495d2b4b66 Added per-frame update of gpu transforms buffer 2022-09-22 20:04:53 +08:00
Brandon Mak cb31628e66 Dummy pipeline layout ctor created
Renderer now can update and bind descriptor set
2022-09-22 19:38:43 +08:00
Kah Wei f28d966ebb Merge branch 'SP3-1-Rendering' of https://github.com/SHADE-DP/SHADE_Y3 into SP3-1-Rendering 2022-09-22 12:40:25 +08:00
Kah Wei e87c4c8dc8 Fixed SHTextureLibrary compiler errors 2022-09-22 12:39:05 +08:00
Brandon Mak 1290e99dda Merge remote-tracking branch 'origin/SP3-1-Rendering' into SP3-1-Rendering 2022-09-22 12:12:47 +08:00
Brandon Mak 7ddf665460 Updated Descriptor sets
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.
2022-09-22 12:12:44 +08:00
Brandon Mak ba181eb9c9 Shifted Command buffers outside of render graph
Command buffers now exist in renderer instead
Graphics system that calls the renderer, begins and ends the renderer recording in it's main loop as well
2022-09-22 09:23:40 +08:00
Kah Wei 3d9abcf19c Implemented image creation for textures in the texture bank 2022-09-22 09:19:18 +08:00
Xiao Qi d2e2e85726 Added build path ignore
Readded output dir and removed interdir from premake
Added DEBUG guards in SHVkPhysicalDeviceLibrary when using SHLOG_TRACE
2022-09-21 22:54:15 +08:00
Kah Wei 791c4cd0d0 Merge branch 'SP3-1-Rendering' of https://github.com/SHADE-DP/SHADE_Y3 into SP3-1-Rendering 2022-09-21 20:03:03 +08:00
Brandon Mak 8d2b6aec46 Descriptor set fix and camera descriptor set
Fixed SHVkDescriptorSetGroup bug with vkLayouts inside the ctor
Added descriptor set to renderer for camera
Logical Device now stores a buffer alignment variable for UBOs
2022-09-21 15:41:30 +08:00
Kah Wei 5f305f9609 Added SHTextureLibrary stub 2022-09-20 18:13:13 +08:00
Brandon Mak c194765889 More warnings fixed. More graphics constants. 2022-09-20 16:12:47 +08:00
Brandon Mak 0bc3a23161 Fixed the fence with high quality wood 2022-09-20 14:15:09 +08:00
Brandon Mak 147292f91c Fence is broken. The neighbour's kids went to knock it down again. 2022-09-20 12:15:06 +08:00
Brandon Mak d9213fe35d Moved a bunch of global data from Graphics System to new class
New class in SHGraphicsGlobalData
2022-09-20 10:39:52 +08:00
Brandon Mak 77330511ee Fixed pipeline default color blend state
Remember to switch winding back to CCW after rendering in world space
2022-09-20 09:27:13 +08:00
Kah Wei 8ad0eee032 Fixed vertex data buffer being incorrect 2022-09-19 21:31:23 +08:00
Kah Wei 9e09896984 Fixed SHVkBuffer move and reworked batching buffers to be host visible 2022-09-19 20:15:39 +08:00
Kah Wei 4023b9d136 Added tests for rendering and fixed bugs with Batching system 2022-09-19 18:37:57 +08:00
Kah Wei f408247007 Linked MeshLibrary to RenderGraph 2022-09-19 15:52:51 +08:00
Brandon Mak d025abe43a Render graph execution now takes in graph scope buffers 2022-09-19 15:32:03 +08:00
Kah Wei 8070b2dafa Accounted for Shaders with no SHShaderBlockInterface 2022-09-19 00:11:57 +08:00
Brandon Mak 23fe51b483 Merge remote-tracking branch 'origin/SP3-1-Rendering' into SP3-1-Rendering 2022-09-19 00:04:42 +08:00
Brandon Mak 643efbe1bb WIP 2022-09-19 00:00:07 +08:00
Kah Wei b9185eab18 Added Mesh Registration Functions to SHGraphicsSystem and a SHGraphicsSystem compatible version of mesh generation functions for SHPrimitiveGenerator 2022-09-18 23:23:48 +08:00
Kah Wei 41daaaba9c Added SHPrimitiveGenerator 2022-09-18 23:11:08 +08:00
Brandon Mak 28a5f8e4e5 Auto stash before merge of "SP3-1-Rendering" and "origin/SP3-1-Rendering" 2022-09-18 22:34:48 +08:00
Kah Wei 96ec1afcdd Changed batching system to use SHRenderable* instead of handles 2022-09-18 17:02:02 +08:00
Brandon Mak ec40754eb9 Render graph, graphics system and pipeline library changes lel
Solved errors
Graphics system AddMaterial now takes in a subpass
Pipeline library now stored in render graph node instead since pipelines have to be compatible with a renderpass.
Renderers now bind render graphs instead of storing them
2022-09-18 15:23:10 +08:00
Kah Wei 8c30e656f7 Modified AddMaterial() to take in a subpass 2022-09-18 14:58:32 +08:00
Kah Wei 7a126bf1fc SHViewport now takes in a RenderGraph instead of creating one 2022-09-18 14:49:15 +08:00
Kah Wei a3aa708b34 Fixed numerous template errors and warnings 2022-09-18 00:49:27 +08:00
Kah Wei 6e4d6abd1c Fixed Handle<> include issues 2022-09-17 23:37:22 +08:00
Kah Wei 1c8a434b26 Added Batcher classes and fixed errors 2022-09-17 23:37:22 +08:00
Brandon Mak c1a3a6acf1 Created global descriptor set layouts 2022-09-17 23:32:03 +08:00
Brandon Mak bff27a7188 Added a bunch of KW's files for batching
Prepared Graphics system for merging with batcher
2022-09-17 22:29:22 +08:00
Sri Sham Haran eb8cbaeebb init vulkan for imgui 2022-09-16 16:40:42 +08:00
Brandon Mak c1c5e70676 Merge remote-tracking branch 'origin/main' into SP3-1-Rendering 2022-09-16 14:46:48 +08:00
Brandon Mak a42a8b0c46 SH_API EVERYWHERE 2022-09-16 14:20:21 +08:00
Brandon Mak eb975d96c6 Merge remote-tracking branch 'origin/main' into SP3-1-Rendering 2022-09-16 14:08:36 +08:00
Brandon Mak f0b9f19f4d clear color value fix 2022-09-16 12:33:42 +08:00
Brandon Mak 169822c221 Render graph execution fixed
GetVkQueue function deleted. More specific function implemented (Present).
2022-09-15 09:16:13 +08:00
Brandon Mak 44e529f06f Merge branch 'SP3-4-editor' into SP3-1-Rendering 2022-09-14 19:44:01 +08:00
Brandon Mak 7459e19846 Changes 2022-09-14 19:19:24 +08:00
Brandon Mak 5a1abe6530 Auto stash before merge of "SP3-4-editor" and "origin/SP3-4-editor" 2022-09-14 19:18:54 +08:00
Sri Sham Haran fdc8a61c1d Added SHWindow to SHImguiWindow 2022-09-14 16:01:40 +08:00
Kah Wei cba3aa0663 Converted SHADE_Engine to a DLL project and exported common use classes 2022-09-13 21:08:13 +08:00
Brandon Mak 4ccfd399af Renderpass execution and descriptor set writes 2022-09-13 19:46:51 +08:00
Brandon Mak 8f7d8cd8bc Added vertex attributes 2022-09-13 09:13:39 +08:00
Brandon Mak 506d3a1c35 WIP 2022-09-12 20:08:01 +08:00
Brandon Mak 47e9e3d3f2 WIP 2022-09-11 22:34:55 +08:00
Brandon Mak bf447c1d1d Auto stash before merge of "SP3-4-editor" and "origin/SP3-4-editor" 2022-09-11 20:03:11 +08:00
Brandon Mak 09c1d2654d WIP 2022-09-09 16:02:34 +08:00
Brandon Mak 361237ede1 GETTER FOR RENDER GRAPH 2022-09-09 14:38:09 +08:00
Brandon Mak ae372f2917 Getter for renderpass in render node 2022-09-09 14:34:09 +08:00
Brandon Mak d7954245d6 Created a descriptor pool for Graphics System 2022-09-09 14:21:13 +08:00
Brandon Mak fe954271cb Getter for queue 2022-09-09 14:02:48 +08:00
Brandon Mak 78f8a9e455 Getter for physical device 2022-09-09 13:55:00 +08:00
Brandon Mak bed017e539 Fixed some warnings and premake files now include hpp files 2022-09-09 13:28:57 +08:00
Brandon Mak fe6c5be8c6 Graphics System called in application 2022-09-09 11:20:38 +08:00
Brandon Mak 62c67909ee Rendering Integration 2022-09-08 19:11:25 +08:00