Commit Graph

1217 Commits

Author SHA1 Message Date
Kah Wei 5c14a0829a Added support for edge cases in transforms interpolation for animation clips 2023-01-10 11:46:37 +08:00
Kah Wei e9624977cd Modified SHAnimationComponent to handle interpolation of separate position, rotation and scale keyframes 2023-01-09 23:32:20 +08:00
Kah Wei 7bf0c26052 Added support for loading SHRig and SHAnimationClip into SHResourceManager and modified SHAnimationClip to support proper keyframe data 2023-01-09 17:51:54 +08:00
Xiao Qi a58c3e86a5 Reinserted genMeta in compiling function 2023-01-09 17:10:13 +08:00
Xiao Qi 1eab15d129 Root nullptr check when destroying rig tree 2023-01-07 22:04:11 +08:00
Xiao Qi c3d027f5b1 AssetID check for 0 2023-01-07 21:32:16 +08:00
Xiao Qi ae024e9757 Changed order of init in asset manager to init all loaders first before building directory to avoid crash 2023-01-07 21:13:59 +08:00
Xiao Qi 73a1aaa480 Updated model loading to match new model binary implementation
Changed some calls in resource to match new names and defines
2023-01-07 21:00:11 +08:00
Xiao Qi 64323f6cf8 Merge branch 'SP3-17-animation-system' into Model-Loader-Update 2023-01-07 16:43:01 +08:00
Xiao Qi ab766d9304 Updated Model asset and rig loading 2023-01-07 16:42:13 +08:00
Kah Wei 9d17328262 Added bone animation supported vertex shader 2023-01-04 18:20:04 +08:00
Kah Wei 7da89def50 Refactored SHBatch to support animation data in the same descriptor set 2023-01-04 17:42:02 +08:00
Kah Wei 3ca6859fcb Merge branch 'main' into SP3-17-animation-system
# Conflicts:
#	SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.cpp
#	SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.h
#	SHADE_Engine/src/Graphics/MiddleEnd/Interface/SHGraphicsSystem.cpp
2023-01-04 15:52:08 +08:00
Sri Sham Haran 562c9e2064 Merge branch 'main' into SP3-4-Editor 2023-01-03 20:29:09 +08:00
Kah Wei 06b7db14d5 Added code for bone matrices 2023-01-03 18:57:14 +08:00
Kah Wei c1910db2af Fleshed out SHAnimatorComponent 2023-01-03 00:23:37 +08:00
XiaoQiDigipen a6a0e1588b
Merge pull request #299 from SHADE-DP/SP3-6-c-scripting
Added scripting quality of life features
2023-01-01 12:37:09 +08:00
XiaoQiDigipen 1590982507
Merge pull request #298 from SHADE-DP/SP3-10-input-management
Fixed and Enhanced Input Binding Management
2023-01-01 12:35:49 +08:00
Brandon Mak d7754e125d Wrote remove resource for render graph (untested) 2023-01-01 12:02:51 +08:00
Kah Wei 38e27ce21a Merge branch 'main' into SP3-17-animation-system 2022-12-31 19:17:19 +08:00
Kah Wei fee2cdd8bf Merge branch 'main' into SP3-6-c-scripting 2022-12-31 18:32:41 +08:00
Kah Wei dcf7a65cac Added launching of Visual Studio by double clicking on a script file 2022-12-31 00:21:00 +08:00
mushgunAX 0e417fa7d6 Merge branch 'main' into SP3-10-input-management 2022-12-30 21:58:11 +08:00
mushgunAX fed7f340cd Add Binding Parameters 2022-12-30 21:57:59 +08:00
Kah Wei 8db5b35f25 Added additional file utilities, PowerShell based execution of commands and tools for working with visual studio 2022-12-30 17:02:09 +08:00
mushgunAX 472f52af89 Should be finished for now, final checks to do 2022-12-30 15:56:36 +08:00
Brandon Mak 118ad33109 Got rid of SHEnumWrapper 2022-12-30 15:54:45 +08:00
Kah Wei 2e8535d3cf Fixed script building causing a freeze 2022-12-30 15:43:54 +08:00
Kah Wei ce16ca6f8d Exposed transform and MDI buffers in SHBatch and exposed Batches in SHSuperBatch 2022-12-30 15:29:17 +08:00
Kah Wei 2f5d855fc6 Added stub for SHVSUtiltiies 2022-12-29 23:46:44 +08:00
Kah Wei abf9c6b813 Refactored SHExecUtilities to return additional data 2022-12-29 23:46:27 +08:00
SHAM-DP 2037aab3df Added current scenename display
Cleaned up menu bar
2022-12-29 15:31:27 +08:00
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
SHAM-DP 17b9520fff Fixed bug where all components are serialized for any entity even if it does not have the component(s)
Hierarchy Controls are no longer disabled when it is not in focus
2022-12-28 22:05:06 +08:00
SHAM-DP 16d34c6478 Added Copy/Paste of Component Values
- Command should fail if deserialization fails
2022-12-28 21:23:34 +08:00
Brandon Mak 99e7dbfa01 WIP 2022-12-28 20:47:20 +08:00
SHAM-DP 51c9058ab8 Window now maximized by default
Application now loads working scene if run with editor
Added editor config to save:
- Window size
- Window Maximized
- Working Scene
- Editor Style
2022-12-28 17:21:08 +08:00
Brandon Mak 497889c050 Merge branch 'main' into SP3-1-Rendering 2022-12-28 15:09:38 +08:00
Brandon Mak b84364ffe9 Minor changes
- Render Node Compute now has access to camera to send camera data to shaders
- Fonts now have functions to bind descriptor set
2022-12-28 12:43:40 +08:00
Brandon Mak 3bfec1e54f WIP will update later, afraid for BSOD again
- All Shaders now take in a single projection matrix. The type of projection matrix is dependent on the SHRenderer projection type.
- SHGraphicsSystem now only has a single render graph.
- SHGlobalDescriptorSets now store a descriptor set for static global data and a handle to the lighting system. Functions to bind their descriptor sets are also available. 
- Font desc set layout is added back into SHPredefinedData because while its possible to introspect the layouts from the shaders, the layouts is required beforehand to generate the font objects
- SHRenderers and SHViewport are now 2 separate entities, both passable to SHSubpass to be contained and used to set viewport/scissor and send camera matrices to shaders.
-  SHRenderer descriptor sets are now updated separately from the binding. They happen directly before the render graph executes.
2022-12-28 12:19:30 +08:00
XiaoQiDigipen 35c8321e98
Merge pull request #296 from SHADE-DP/SP3-4-Editor
Added Collision Tag Matrix
2022-12-27 13:59:49 +08:00
Sri Sham Haran 37f62fdd24 Collision Tag Matrix 2022-12-26 14:35:48 +08:00
Brandon Mak 5f2fa7fdf5 WIP
- Created a class that allows custom mappings of descriptor types to set indices
- SHPredefinedData now contains objects of the above class with predefined mappings for the different sub systems in the Graphics System. 
- These mappings are also accompanied with descriptor set layout vectors that are only for that system. This helps the sub systems have access to these layouts easily without having to pass them around. 
- Created another class to manage global descriptor sets such as lights. 
- Modified pipeline layout creation code to take in the correct descriptor set layouts.
2022-12-26 09:28:15 +08:00
Brandon Mak b035582b30 Renamed SHGraphicsGlobalData to SHPredefinedData
- SHPredefinedData now contains the font data descriptor set layout as well 
- Added a function for SHPredefinedData to retrieve descriptor sets based on a bitfield
- Modified descriptor sets to not be tied to a set index anymore
- Descriptor set layout doesn't have a set anymore
- Removed desc set index constants from SHGraphicsConstants since they aren't really needed anymore
2022-12-25 14:32:55 +08:00
mushgunAX 43950400ae Merge branch 'main' into SP3-10-input-management 2022-12-25 14:13:30 +08:00
mushgunAX ee4ec83f7a Progress on Input Manager Fixes 2022-12-25 14:13:21 +08:00
Sri Sham Haran c44f0f093a Merge branch 'main' into SP3-4-Editor 2022-12-23 19:07:21 +08:00
mushgunAX 605d408a3a Binding types, scroll wheel support, bind clears 2022-12-23 15:24:12 +08:00
Kah Wei 861e47812f Fixed bug where StrToWstr and WstrToStr may contain invalid characters from a previous call 2022-12-22 15:06:52 +08:00
Kah Wei 360b362b7b Moved command and process execution helpers to SHExecUtilities 2022-12-21 16:47:10 +08:00