Commit Graph

1244 Commits

Author SHA1 Message Date
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
Kah Wei 88e89a226a Added the option to open the script csproj via menu bar 2022-12-20 22:35:47 +08:00
Kah Wei b402a44d95 Added SHAnimationClip stub 2022-12-20 17:26:27 +08:00
Diren D Bharwani 3b55888fa1 Added conversions to and from wxyz quaternion representations 2022-12-16 23:19:44 +08:00
Kah Wei 51479d2bd0 Fixed bug where meshes added to the mesh library will not have correct corresponding "null" vertex bone weights and indices 2022-12-16 21:43:33 +08:00
Kah Wei 12a46c4266 Merge branch 'main' into SP3-17-animation-system
# Conflicts:
#	SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.cpp
#	SHADE_Engine/src/Graphics/MiddleEnd/Interface/SHDebugDrawSystem.cpp
#	SHADE_Engine/src/Graphics/MiddleEnd/Meshes/SHPrimitiveGenerator.cpp
#	SHADE_Engine/src/Graphics/MiddleEnd/Meshes/SHPrimitiveGenerator.h
2022-12-16 12:59:11 +08:00
Kah Wei 0a3ff527d9 SHDebugDraw drawing functions now have the colour parameter defaulted to white 2022-12-16 00:05:03 +08:00
Kah Wei 8978515cb9 Reworked SHDebugDraw to fit new interface of SHDebugDrawSystem 2022-12-15 23:25:49 +08:00
Kah Wei eb06eebc32 Added ability to debug draw circles 2022-12-15 20:30:20 +08:00
Kah Wei 78575b11e4 Added debug draw of wire spheres, filled cube and filled sphere 2022-12-15 18:08:12 +08:00
Kah Wei b6ab7b44d9 Renamed DrawWireBox to DrawWireCube 2022-12-15 02:19:30 +08:00
Kah Wei 9ef005346b Merge branch 'main' into SP3-1-DebugDraw 2022-12-15 01:46:26 +08:00
Kah Wei 98ff16d00c Added deebug drawing of cubes of any transform 2022-12-15 01:45:44 +08:00
mushgunAX 3041761e96 Merge branch 'main' into SP3-10-input-management 2022-12-14 16:13:27 +08:00
Kah Wei 06cc969658 Reworked DebugDraw system (only lines now) 2022-12-14 01:20:12 +08:00
mushgunAX 775dcd5337 Merge branch 'main' into SP3-10-input-management 2022-12-12 20:11:51 +08:00
Diren D Bharwani 7820d332b1 Changed managed code's GameObject to synce with the node's active state 2022-12-12 17:58:15 +08:00
Diren D Bharwani 9b17c62b1d Added active in hierarchy property to scene nodes 2022-12-12 17:07:18 +08:00
Sri Sham Haran 82765648c4 fix colliderpanel 2022-12-12 11:49:52 +08:00
Sri Sham Haran a820d19670 Merge branch 'main' into SP3-4-Editor 2022-12-12 10:39:07 +08:00
maverickdgg 4f1007e6be Added scene init exit events 2022-12-06 13:09:47 +08:00
maverickdgg 9eddcc8460 Merge branch 'main' into SP3-12-SceneGraph 2022-12-06 12:54:43 +08:00
mushgunAX 9a5dc52d77 Minor fixes to input manager
- Pass binding names into functions by const reference instead of by value
- Fixed oversight of not being able to modify or read mouse Y positive multiplier for a binding
2022-12-05 23:25:43 +08:00
Kah Wei c84e33731b Fixed crash which occurs when changing the material of an object twice in a row 2022-11-25 22:24:30 +08:00
Glence 413156dabb Merge branch 'main' into PlayerController 2022-11-25 15:45:35 +08:00
Diren D Bharwani 1cfd3cfd3a Merge remote-tracking branch 'origin/main' into SP3-2-Physics 2022-11-25 14:06:28 +08:00
Diren D Bharwani afd2abf036 Fixed pre & post physics transforms update routines 2022-11-25 14:06:20 +08:00
Diren D Bharwani 43a5cb4deb Reverted world extents computation 2022-11-25 14:05:43 +08:00
Glence 9daaade56a Merge branch 'main' into PlayerController 2022-11-25 13:22:51 +08:00
Xiao Qi 300647afa6 Stopped camera from running when editor is in pause 2022-11-25 12:24:13 +08:00
maverickdgg f3e7f1747a Merge branch 'main' into SP3-141-Camera-System 2022-11-25 10:06:11 +08:00
maverickdgg 428f8f29c6 Camera collision. WIP 2022-11-25 10:06:02 +08:00
Glence c07fa3c5ae remove the clamp from the phsysicSystem routines
added cheats for maingame
added raycast for pick throw
2022-11-25 00:54:45 +08:00
Kah Wei 7c58c9a23d Fixed crash caused when building scripts in debug mode when a debugger is attached 2022-11-24 23:20:37 +08:00
Diren D Bharwani 6525a39df2 Added collision tags for raycasting. Does not apply to collider raycasting 2022-11-24 15:11:07 +08:00
Diren D Bharwani 3775df23a4 Debug draw is disabled on publish builds. 2022-11-24 14:43:41 +08:00
Diren D Bharwani a9bacc9e48 Fixed incorrect storing of world extents 2022-11-24 14:42:34 +08:00
Diren D Bharwani f6c74ad3d2 Fixed recurring bug with collision listener 2022-11-24 14:41:52 +08:00
Diren D Bharwani 74a85180ac Merge remote-tracking branch 'origin/main' into SP3-2-Physics 2022-11-24 12:02:34 +08:00
Diren D Bharwani 7d7d40ba8e Debug draw is always enabled. 2022-11-24 12:02:08 +08:00
XiaoQiDigipen d09fefe9b4
Merge pull request #271 from SHADE-DP/SP3-2-Physics
Fixed Physics Bugs
2022-11-24 02:10:54 +08:00
Xiao Qi b7b3301158 Added isDirty copy in move ctor for SHBatch 2022-11-24 02:01:41 +08:00
Diren D Bharwani 33ac1a868a Fixed wrongly returning fixed DT in managed code & collision listener bug 2022-11-24 01:46:29 +08:00
Glence ca60b64a89 Merge branch 'main' into PlayerController 2022-11-23 20:39:47 +08:00
Kah Wei 57df4e2905 Fixed awake() and start() getting called before all objects are loaded when changing scenes 2022-11-23 20:36:28 +08:00
Glence af93e59d0e added text to maingame 2022-11-23 20:26:53 +08:00
Kah Wei 6261661ef6 Added potential fix for Vulkan buffer creation crashes from SHBatch 2022-11-23 19:30:51 +08:00
maverickdgg 49b475442f Added a targetOffset for camera arm 2022-11-23 18:27:54 +08:00
Glence 22972d7455 updated the music banks
update a tem fix for physicsSystem
2022-11-23 17:37:06 +08:00
Kah Wei 20a1fdc16e Fixed Application::Close() not closing but instead minimizing the window 2022-11-23 17:03:57 +08:00
Diren D Bharwani 9bdaea10f5 Fixed...another..bug...:( 2022-11-23 16:56:25 +08:00
Diren D Bharwani 4865a49bfa Fixed bug where rigidbody setters in the first frame causes a crash 2022-11-23 15:32:14 +08:00
XiaoQiDigipen 5af5d4ef96
Merge pull request #260 from SHADE-DP/SP3-16-Math
Added Forward & LookAt to C# Transforms
2022-11-23 15:07:23 +08:00
Diren D Bharwani 7202551838 Added Vector rotation with Quaternions 2022-11-23 14:56:20 +08:00
XiaoQiDigipen 87936f1e31
Merge pull request #259 from SHADE-DP/SP3-2-Physics
Fixed fatal bug where rigidbody masses was incorrectly computed when editor is enabled
2022-11-23 13:50:22 +08:00
XiaoQiDigipen 6161d81c4a
Merge pull request #256 from SHADE-DP/Fix-NoGPUClarity
Added explicit error check for when no supported GPUs are available to use
2022-11-23 13:48:37 +08:00
Diren D Bharwani db69cfb567 Merge remote-tracking branch 'origin/main' into SP3-2-Physics 2022-11-23 13:30:40 +08:00
Diren D Bharwani 1402139369 Fixed bug where colliders were not properly added with editor enabled 2022-11-23 13:30:28 +08:00
Xiao Qi 0edd2f24e3 Added VS and FS shaders to tile singular textures
Added shader stage flag bit for vertex shaders
2022-11-23 13:02:33 +08:00
Kah Wei 1a26b0ac70 When no GPU is detected, a proper exception describing it is now thrown instead of failing silently 2022-11-23 09:57:55 +08:00
Diren D Bharwani 2523613732 Fixed fatal bug that prevent scene changing while the editor is enabled 2022-11-23 01:01:29 +08:00
Diren D Bharwani fa83e2bc4c Modified Shape.Raycast functions to return RaycastResult 2022-11-23 01:01:12 +08:00
Diren D Bharwani 4277ba10d7 Merge remote-tracking branch 'origin/main' into SP3-12-SceneGraph 2022-11-22 22:11:42 +08:00
Xiao Qi cc2587a7bd Added recognition for material and prefab types when generating meta files 2022-11-22 21:54:51 +08:00
Xiao Qi bcd8b37fd7 Merge branch 'main' into SP3-13-Assets-Manager 2022-11-22 21:53:46 +08:00
Diren D Bharwani 82b92d45cf Merge remote-tracking branch 'origin/main' into SP3-12-SceneGraph 2022-11-22 21:31:45 +08:00
Diren D Bharwani 807ad54d7d Fixed Scene Node SetActive & SceneGraph CheckActiveInHierarchy 2022-11-22 21:31:37 +08:00
Sri Sham Haran f119acdb65 collider tag panel 2022-11-22 21:15:18 +08:00
maverickdgg 44733308f1 Merge branch 'main' into SP3-20-UI-System 2022-11-22 21:04:03 +08:00
maverickdgg 7c36886669 Fix for Canvas scaler 2022-11-22 21:03:53 +08:00
XiaoQiDigipen cecd8ab717
Merge pull request #251 from SHADE-DP/SP3-2-Physics
Fixed Rigidbodies not sleeping
2022-11-22 20:58:11 +08:00
maverickdgg 142f025692 Added check for editor camera. 2022-11-22 20:54:16 +08:00
Diren D Bharwani 72d70e4747 Merge remote-tracking branch 'origin/main' into SP3-2-Physics 2022-11-22 20:46:37 +08:00
Diren D Bharwani 62c4b3837d Fixed bug where transform dirty flags were not being properly cleared.
This was preventing bodies from going to sleep and transforms always updating.
2022-11-22 20:46:31 +08:00