Commit Graph

808 Commits

Author SHA1 Message Date
Kah Wei d03780a9b3 Merge branch 'main' into SP3-6-c-scripting 2022-10-31 15:20:23 +08:00
Kah Wei 1d2b23d762 Fixed script deletion and OnDestroy never being called 2022-10-31 15:19:57 +08:00
maverickdgg f5f9b80490 Added GetEntityByName to EntityManager 2022-10-31 15:06:08 +08:00
maverickdgg ab46d0a96a Decompose matrix WIP 2022-10-31 15:02:28 +08:00
Kah Wei 66529474cd Added Application class equivalent to SHADE_Managed 2022-10-31 14:51:50 +08:00
Diren D Bharwani ed88b9e5d3 Merge remote-tracking branch 'origin/main' into SP3-12-SceneGraph 2022-10-31 13:15:07 +08:00
Diren D Bharwani ea516189d2 Merge remote-tracking branch 'origin/main' into SP3-2-Physics 2022-10-31 13:14:38 +08:00
Diren D Bharwani d4dbb38dc4 Merge remote-tracking branch 'origin/main' into SP3-16-Math 2022-10-31 13:12:20 +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
Sri Sham Haran d3dc87accb can assign mesh
add bigobj option to command line till we find a better solution
2022-10-30 23:15:41 +08:00
Brandon Mak 647182241e Fixed a buy with view space lighting calculations 2022-10-30 19:21:02 +08:00
Sri Sham Haran 0aebc3053f Asset browser (currently only displays asset and can drag drop for setting of mesh. except setting mesh in inspector doesnt work) 2022-10-30 18:26:49 +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 96112e5251 Merge remote-tracking branch 'origin/SP3-16-Math' into SP3-1-Rendering 2022-10-30 16:37:38 +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 13ad7d46c6 Fix crash when entity w no transform being set as child of entity w transform
Add select all
2022-10-30 15:19:42 +08:00
Diren D Bharwani 03c0d10014 Fixed bug where objects without transform causes a crash on reparenting 2022-10-30 15:10:39 +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
Diren D Bharwani 605ff9710d Added Matrix * Vec4 2022-10-30 14:37:30 +08:00
Sri Sham Haran f21f501d5a Merge branch 'main' into SP3-4-Editor 2022-10-30 14:23:39 +08:00
Sri Sham Haran dd8d913071 Add widget for drag drop read only
field
Editor tweaks
2022-10-30 14:22:55 +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
Sri Sham Haran 04d3c6c9bb Merge branch 'main' into SP3-8-serialization 2022-10-30 11:26:23 +08:00
Xiao Qi 087cbcabaf Forgot function to actually retrieve root folder pointer hehe 2022-10-30 04:41:24 +08:00
Xiao Qi 2ebcd3fd47 Filesystem builds directory tree of asset folder to show all files and subfolders 2022-10-30 04:39:16 +08:00
Xiao Qi d3b44f9c22 Merge branch 'main' into SP3-13-Assets-Manager 2022-10-30 03:08:36 +08:00
Xiao Qi 00d4d5d910 Removed code that accidentally calls delete on freed memory for asset loaders 2022-10-30 03:06:18 +08:00
Brandon Mak b46b6b0b85 CompileAll uncommented and asset manager metadata writes commented
SHmeta files should now be identical to what's on main
Shaders themselves have some changes (binaries also updated)
2022-10-30 00:25:49 +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
Diren D Bharwani 72cdbf55e5 Fixed boolean for updating entities in Transform system 2022-10-29 16:42:02 +08:00
Xiao Qi c71a84cc59 Simple file deletion 2022-10-29 15:50:26 +08:00
Xiao Qi 219492dedd Changed asset collection from vector to unordered_map for better id col check
Reduce use of for loops to iterate through asset collection
2022-10-29 15:36:34 +08:00
Diren D Bharwani 96bd982e4c Merge remote-tracking branch 'origin/main' into SP3-12-SceneGraph 2022-10-29 14:51:48 +08:00
Xiao Qi 270205b0ba Added line to write asset meta into file when saving
Does check for data write before saving
2022-10-29 14:50:44 +08:00
Xiao Qi 0182c90a21 Interface to create and save new assets that are internal: Prefabs, Scenes, Materials 2022-10-29 14:42:38 +08:00
Xiao Qi cd62dbbb25 Material WIP 2022-10-29 11:58:14 +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 15e9aaa57d Modified SHSerialization to load Material using SHResourceManager 2022-10-29 01:54:43 +08:00
Kah Wei 3c2e51cb0b Built-in shaders are now fully loaded via the SHResourceManager 2022-10-29 01:38:29 +08:00
Kah Wei e4394b6170 Generalised SHResourceManager 2022-10-28 21:32:05 +08:00
Xiao Qi 22b0a2f97b Changed tabs/spacing 2022-10-28 21:20:59 +08:00
Xiao Qi 6ce143665a Added scene and prefab asset classes
Added scene and prefab text based loaders

Added write functions to all asset loaders to overwrite data
2022-10-28 20:48:50 +08:00
Sri Sham Haran 001c25f554 fix camera not updating when undock/dock 2022-10-28 20:47:28 +08:00
Sri Sham Haran f9f818b49c Merge branch 'main' into SP3-4-Editor 2022-10-28 20:31:51 +08:00
Sri Sham Haran ea9f90f60d Serialize Collider Component done 2022-10-28 19:39:39 +08:00
Xiao Qi 017cbf90c5 Changed filesystem interface in preparation for asset browser functionalities 2022-10-28 19:07:48 +08:00
Kah Wei 541f44c039 Fixed bugs in SHMaterial, SHMeshLibrary and removed unused functions in SHTextureLibrary 2022-10-28 19:02:54 +08:00
Kah Wei 199897adb4 Added GenericHandles to SHADE_Managed 2022-10-28 19:02:26 +08:00
Sri Sham Haran 04d372b9b8 Merge branch 'main' into SP3-8-serialization 2022-10-28 18:00:08 +08:00
Sri Sham Haran fa6e3cf1df Light Component Serialization & Inspector 2022-10-28 17:58:16 +08:00
XiaoQiDigipen ade24b904f
Merge pull request #127 from SHADE-DP/SP3-2-Physics
SP3-2 Colliders use relative size

NEW

Colliders have materials. The material system is intended to emulate Unity's physics materials.
UPDATE

Colliders now show relative size on the Editor. This change has not been reflected in Scripting.
Colliders will deep copy the shape in case it was not already doing so.
If this doesn't compile, beat me. I swear I just compiled, ran and tested for functionality.
2022-10-28 16:38:44 +08:00
XiaoQiDigipen f276595202
Merge pull request #126 from SHADE-DP/SP3-1-SerialisedRenderable
All Vec3 and Vec4s in materials are now automatically set to full 1.0 Vectors
2022-10-28 16:38:17 +08:00
Diren D Bharwani 270f69572c Replaced cout with SHLOG 2022-10-28 16:25:57 +08:00
Brandon Mak f110f9b16b Removed isActive from component 2022-10-28 15:56:22 +08:00
Diren D Bharwani b0175dba31 Ensured a deep copy (recreation) of collision shapes 2022-10-28 15:29:28 +08:00
Diren D Bharwani 1a4b15feb2 Changed ColliderBound to CollisionShape because ColliderBound sounds weird 2022-10-28 14:29:05 +08:00
Brandon Mak baa77e5d37 setter for culling mask 2022-10-28 14:10:08 +08:00
Diren D Bharwani d4f775843c Merge remote-tracking branch 'origin/main' into SP3-2-Physics 2022-10-28 14:08:18 +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
Sri Sham Haran a04e57d048 Merge branch 'main' into SP3-8-serialization 2022-10-28 13:17:22 +08:00
Sri Sham Haran c35f3d5e15 fix hierarchy panel menu bar padding 2022-10-28 12:47:17 +08:00
XiaoQiDigipen c750bffd1d
Merge pull request #125 from SHADE-DP/SP3-1-SerialisedRenderable
Added Serialized Renderable
2022-10-27 23:27:00 +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
Kah Wei 392ecae434 Merge branch 'main' into SP3-6-c-scripting 2022-10-27 17:52:52 +08:00
Kah Wei 623e964160 Fixed bug causing issues with debugging not working 2022-10-27 17:51:30 +08:00
Diren D Bharwani a354928e0d Merge remote-tracking branch 'origin/main' into SP3-2-Physics 2022-10-27 17:41:01 +08:00
maverickdgg b0f28f98c5 WIP camera arm component 2022-10-27 15:01:18 +08:00
Xiao Qi 2102835629 Added function to manually compile shaders by path 2022-10-27 14:24:03 +08:00
Xiao Qi b10da2d160 Merge branch 'main' into SP3-13-Assets-Manager 2022-10-27 14:19:22 +08:00
Xiao Qi e1de423483 Treat all shaders as built in for now to facilitate getting shader module by name 2022-10-27 14:12:53 +08:00
Xiao Qi b5a1d5ea88 SP3-282 Restructured loaders and compilers
Completed shader compiling and loading
2022-10-27 12:54:58 +08:00
Kah Wei 97432b8666 Accounted for updating collider storage when a collider is removed 2022-10-27 12:46:42 +08:00
Kah Wei d45d621701 Collider now will have it's sub collider list updated based on events 2022-10-27 12:32:06 +08:00
Kah Wei cd04132fd7 Merge branch 'main' into SP3-6-c-scripting 2022-10-27 11:41:14 +08:00
Brandon Mak b7b3ef08ab Some lighting fixes 2022-10-27 11:31:11 +08:00
maverickdgg dee4e9acbd Fixed RTTR registration. Added back Camera Clamp 2022-10-27 10:33:54 +08:00
Kah Wei d2c7630af4 Merge branch 'main' into SP3-6-c-scripting 2022-10-27 10:12:52 +08:00
Kah Wei 2108d9e1f6 Added triple buffering to SHDebugDrawSystem 2022-10-27 10:12:30 +08:00
maverickdgg 0c2d020f89 Merge branch 'main' into SP3-141-Camera-System 2022-10-27 09:26:53 +08:00
maverickdgg 012070ba6d Added RTTR registration 2022-10-27 09:26:49 +08:00
Sri Sham Haran a854a50fb2 Fix error from shader graph preventing compilation on main 2022-10-27 09:22:42 +08:00
maverickdgg d8086edbe2 Merge branch 'main' into SP3-141-Camera-System 2022-10-27 08:55:06 +08:00
Diren D Bharwani 75fd02c08a small change to where forces are cleared (1 less comparison) 2022-10-27 03:35:32 +08:00
Diren D Bharwani 371ffc52da Colliders now use relative sizes 2022-10-27 03:14:46 +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
Sri Sham Haran 3518004266 Add Open File DIalog (WIP) 2022-10-26 21:06:09 +08:00
Sri Sham Haran 1018454f2e Add Win32 MessageBox
Add Prefab Manager
2022-10-26 20:21:47 +08:00
Xiao Qi f2e2b21d47 Merge branch 'main' into SP3-13-Assets-Manager 2022-10-26 18:40:10 +08:00
Diren D Bharwani 19ceab84df Added events for adding and removing colliders 2022-10-26 18:35:41 +08:00
Xiao Qi 4eaa15d999 Added function to compile built in shaders 2022-10-26 17:16:09 +08:00
Diren D Bharwani 12758878c5 Fixed bug with multiple collider removals 2022-10-26 16:55:28 +08:00
Diren D Bharwani 4f28161e45 Merge remote-tracking branch 'origin/main' into SP3-2-Physics 2022-10-26 16:30:36 +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
Diren D Bharwani 58491fcbff Fixed physics bugs
1. Colliders are now properly deleted along with its component.
2. Forces and velocities are reset on stop.
2022-10-26 16:17:22 +08:00
Sri Sham Haran 51489ecb3b Merge branch 'main' into SP3-4-editor_fix 2022-10-26 16:07:01 +08:00
Sri Sham Haran 1c099acccb handle vec2/3/4 that contain values in radians 2022-10-26 16:05:52 +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
Sri Sham Haran b013d09f42 Tooltips. editor tweaks 2022-10-26 15:31:23 +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 54796773b2 Added built in shader extension
Collision check for asset IDs
2022-10-26 01:53:26 +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
Diren D Bharwani 7ba02aeb0f Removed unused functions, fixed RigidBody 2022-10-26 01:46:13 +08:00
Diren D Bharwani fbb613b859 m dumb. it work. 2022-10-26 01:16:49 +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
Diren D Bharwani 0defa58c77 Physics Component Synchronisation is now done through events 2022-10-25 23:09:46 +08:00
Diren D Bharwani 3c5a1b73d6 Fixed bug with destroying a rigidbody component 2022-10-25 22:26:07 +08:00
Diren D Bharwani 024ad44e84 Merge remote-tracking branch 'origin/main' into SP3-2-Physics 2022-10-25 22:14:04 +08:00
Diren D Bharwani 388795a2db Transform Components are Enforced through the editor for certain components 2022-10-25 22:13:27 +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
Sri Sham Haran 6d9a8e484c Asset browser 2022-10-25 20:55:46 +08:00
Brandon Mak 0395df5c63 Lights WIP (bug fixes) 2022-10-25 19:59:16 +08:00
Sri Sham Haran 393422a0a3 Merge branch 'main' into SP3-4-editor_fix 2022-10-25 19:48:08 +08:00
Glence d1d64ec167 added tooltips for the rest of the widgets 2022-10-25 18:48:45 +08:00
Kah Wei 416c571fd2 Added proper deletion of VKSamplers 2022-10-25 17:40:13 +08:00
maverickdgg 53fc0c970c Added a DegreesToRadians when setting rotation of camera comp 2022-10-25 17:30:11 +08:00
Sri Sham Haran 0acd6a99a4 Tweaks to editor widgets 2022-10-25 17:08:15 +08:00
Kah Wei 73a85e4aab Merge branch 'main' into SP3-6-c-scripting
# Conflicts:
#	SHADE_Managed/src/Utility/Convert.cxx
#	SHADE_Managed/src/Utility/Convert.hxx
2022-10-25 15:56:11 +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
Sri Sham Haran d0714cee16 Merge branch 'main' into SP3-8-serialization 2022-10-25 15:10:35 +08:00
Sri Sham Haran dfdd477a37 Merge branch 'main' into SP3-4-editor_fix 2022-10-25 15:10:20 +08:00
Sri Sham Haran 8466309e2f Serialize/Deserialize SHCollider & SHColliderComponent 2022-10-25 15:09:45 +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
Sri Sham Haran f64f13521b SHVec to yaml node convert 2022-10-25 08:42:51 +08:00
Kah Wei f6cbb18143 Added display of WIP CallbackEvents on the inspector 2022-10-25 01:34:46 +08:00
Brandon Mak 8fb0eddcc1 Lights WIP 2022-10-25 00:00:22 +08:00
Xiao Qi 2dbd2f6030 Split asset into 2 categories for internal assets to be loaded and external assets to be compiled 2022-10-24 22:46:01 +08:00