Commit Graph

679 Commits

Author SHA1 Message Date
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
Sri Sham Haran 26eb4ad18c Fix command registrations and mouse pick polling when using transform gizmo 2022-10-24 16:18:18 +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
Kah Wei 51c79d33d6 Added C-style versions of SHLog functions and P/Invoke versions in SHADE_CSharp 2022-10-24 02:04:12 +08:00
Diren D Bharwani 57f9898e07 Finished quaternion implementation 2022-10-23 20:03:18 +08:00
Diren D Bharwani bf0c068cc7 Merge remote-tracking branch 'origin/main' into SP3-16-Math 2022-10-23 18:23:06 +08:00
Diren D Bharwani e15f7696e6 Rotations are stored as radians to reduce the number of conversions 2022-10-23 18:22:58 +08:00
Xiao Qi 4019b4914c Merge branch 'main' into SP3-13-Assets-Manager 2022-10-23 17:08:37 +08:00
Diren D Bharwani 8559f7d27c Merge remote-tracking branch 'origin/main' into SP3-16-Math 2022-10-23 16:59:11 +08:00
Xiao Qi a83d1f8f04 Removed line that loaded all assets
Separated template function in asset manager into hpp file
Fixed bug in checking map contains
2022-10-23 16:55:57 +08:00
Diren D Bharwani 33a6d3798c Added orientation interface and fixed compatibility between physics and transform 2022-10-23 16:55:01 +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
maverickdgg aa1b45c3de Fixed editor camera 2022-10-23 15:03:24 +08:00
maverickdgg 96a7896da9 changed includes to SHHandle and SHResourceLibrary 2022-10-23 12:50:56 +08:00
maverickdgg 679533819f Merge branch 'main' into SP3-141-Camera-System 2022-10-23 12:43:39 +08:00
maverickdgg c15994532b Added a function for editor camera update 2022-10-23 12:42:25 +08:00
maverickdgg 6039ec534d Added clamping of camera, and copying of position and rotation from transform 2022-10-23 12:32:08 +08:00
mushgunAX 77aa5b8c7d Bindings and Controllers 2022-10-22 23:27:43 +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
Diren D Bharwani ebfcf1c6bb Transform now stores orientation as Quaternions. Interface unchanged 2022-10-22 20:16:38 +08:00
Kah Wei 9d8dfd334f Added serialization interfaces for Material (missing Shader) 2022-10-22 19:38:02 +08:00
Diren D Bharwani db751bd141 Editor & Scripts can now override Physics-Based objects' Transforms 2022-10-22 18:22:26 +08:00
Kah Wei 76f83068ba Added type information to SHShaderBlockInterface variables 2022-10-22 02:07:28 +08:00
Xiao Qi 304071cb0a Apparently static keyword gives error but it compiles 2022-10-22 00:42:50 +08:00
Xiao Qi 459d9dd9fd Merge branch 'main' into SP3-13-Assets-Manager 2022-10-22 00:08:43 +08:00
Kah Wei bc8b5f8167 Merge branch 'main' into SP3-8-RenderableSerialization 2022-10-21 22:48:50 +08:00
Brandon Mak cc6e2189fa WIP 2022-10-21 20:56:14 +08:00
Xiao Qi 44833d22c6 Merge branch 'main' into SP3-13-Assets-Manager 2022-10-21 20:52:28 +08:00
Sri Sham Haran d6123c8ed7 Merge branch 'main' into SP3-4-editor_fix 2022-10-21 20:45:16 +08:00
Sri Sham Haran 99a69b0020 tweaks + add new ui font 2022-10-21 20:45:03 +08:00
Xiao Qi 9df517f3b3 SP3-170 SP3-238 Restructured asset and asset loading library types to be derived from common base class.
Storage of assets and loaders based on pointers. 

Created general templated calls to get data from asset manager based on asset type passed in as template argument. 

More concise internal interface when loading and storing assets with libraries
2022-10-21 20:28:54 +08:00
Sri Sham Haran b3ed320f9b Transform Gizmo done. (Commands for it are wonky) 2022-10-21 18:39:50 +08:00
Kah Wei 1ea482ff38 Added serialization of SHRenderable (only Mesh) 2022-10-21 18:36:56 +08:00
Kah Wei e5628fbed8 Added functionality to retrieve AssetID from SHResourceManager using a Handle 2022-10-21 17:09:50 +08:00
Diren D Bharwani 82e416fe9e Merge remote-tracking branch 'origin/main' into SP3-16-Math 2022-10-21 16:29:31 +08:00
Kah Wei 43c2680a82 Added generic Handles and fixed bugs with SHResourceManager 2022-10-21 15:38:39 +08:00
Kah Wei 7e15edb052 Completed initial implementation of SHResourceManager 2022-10-21 13:58:27 +08:00
maverickdgg 7e04bee8d6 Defaults main camera if the mainCamera is still unset 2022-10-21 10:17:32 +08:00
maverickdgg 267ad5f8c6 Set up the CameraDirector creation and setting of main camera 2022-10-21 09:53:19 +08:00
maverickdgg 31ad8b8c87 Added Resource Lib and handle for CameraDirector into camera system 2022-10-21 09:29:13 +08:00
Sri Sham Haran bf0e7ab256 Merge branch 'main' into SP3-4-editor_fix 2022-10-21 08:57:25 +08:00
Brandon Mak e8073bb67f WIP 2022-10-21 08:42:58 +08:00
maverickdgg 29b6e7050d camera director WIP 2022-10-21 08:11:12 +08:00
Brandon Mak c252e4ce4b Some restructuring with render graph storage.
Lesser parameters passed around.
2022-10-21 07:01:51 +08:00
Diren D Bharwani a52f0ddeed Added a degree getter and setter for rotation 2022-10-21 00:08:24 +08:00
Diren D Bharwani fda33f7461 Fixed multi-level transform updates 2022-10-20 22:55:59 +08:00
Brandon Mak c177dabcd0 WIP (not working) 2022-10-20 19:36:43 +08:00
Sri Sham Haran e01a608d8c Transform gizmo finally rendering correctly 2022-10-20 19:16:03 +08:00
Kah Wei 0fadbc8a9d Renamed Handle, ResourceManager and ResourceLibrary to SHHandle, SHResourceHub and SHResourceLibrary 2022-10-20 19:00:36 +08:00
Diren D Bharwani 314d497b66 Reparenting objects maintain world transforms 2022-10-20 18:35:57 +08:00
Diren D Bharwani 5a0b34ceea Added Event for Scene Graph Change Parent 2022-10-20 17:47:32 +08:00
Diren D Bharwani 6172ff35b6 Merge remote-tracking branch 'origin/main' into SP3-12-SceneGraph 2022-10-20 17:15:28 +08:00
XiaoQiDigipen f5060ba0b0
Merge pull request #102 from SHADE-DP/SP3-6-c-scripting
Added Script Serialization and Deserialization
2022-10-20 11:19:10 +08:00
Kah Wei 323a95e5d5 Merge branch 'main' into SP3-6-c-scripting 2022-10-20 11:08:41 +08:00
Kah Wei 166a036142 Completed script serialization in YAML 2022-10-20 11:08:20 +08:00
maverickdgg d32eb790ba Some clean up 2022-10-20 09:34:33 +08:00
maverickdgg 736d7b652b Added camera turning 2022-10-20 03:21:42 +08:00
maverickdgg c23da81f68 Merge branch 'main' into SP3-141-Camera-System 2022-10-19 23:57:16 +08:00
Kah Wei 4f177bc455 Reworked script serialization and deserialization functions (WIP) 2022-10-19 20:43:22 +08:00
Sri Sham Haran 6051b7ded5 Tfm gizmo wip 2022-10-19 20:42:38 +08:00
Xiao Qi 51eba31ad4 Added animation asset class
Added animation reading from assimp scene

Separated assimp loading from mesh loader in preparation for exe use
2022-10-19 18:38:11 +08:00
Sri Sham Haran 125ce7b564 Merge branch 'main' into SP3-4-editor_fix 2022-10-19 17:43:22 +08:00
Sri Sham Haran a7e8320008 Copy/Paste Entities 2022-10-19 17:23:25 +08:00
Brandon Mak 603470eeb6 Fixed some camera resizing issues 2022-10-19 17:06:37 +08:00
Brandon Mak 212e1e7c1f Merge remote-tracking branch 'origin/main' into CameraIntegration 2022-10-19 16:54:24 +08:00
Brandon Mak d9136de134 Integrated Daniel's camera
Still need to integrate camera directors
2022-10-19 16:53:45 +08:00
Kah Wei a3c4c347bb Added Time class for C# 2022-10-19 16:06:26 +08:00
Brandon Mak 284ee12205 Broken Camera 2022-10-19 15:32:07 +08:00
maverickdgg efe8ba4f11 Added some editor camera controls 2022-10-19 10:32:52 +08:00
Kah Wei 896d399a54 Merge branch 'main' into SP3-6-RangeAttribute 2022-10-19 10:13:15 +08:00
Kah Wei 7df24e7a66 Fixed RangeAttribute not working correctly 2022-10-19 10:12:56 +08:00
maverickdgg 33b173ab9e Merge branch 'main' into SP3-141-Camera-System 2022-10-19 09:57:52 +08:00
Sri Sham Haran 5bd5cec9d4 Merge branch 'main' into SP3-4-editor_fix 2022-10-19 09:49:10 +08:00
Sri Sham Haran 3a3f7efb29 [WIP] Transform Gizmo 2022-10-19 01:31:48 +08:00
Sri Sham Haran 96f5b29418 Serialization/Deserialization 2022-10-19 01:03:32 +08:00
Sri Sham Haran 2f429f33f8 Merge branch 'main' into SP3-8-serialization 2022-10-19 00:26:14 +08:00
Kah Wei ceb4c6c4ca Added Range Attribute 2022-10-18 22:34:46 +08:00
Kah Wei 5727bf3905 Merge branch 'main' into SP3-6-c-scripting 2022-10-18 20:10:06 +08:00
Kah Wei 87cf3ffa61 Added script inspector tooltips support via Tooltip attribute 2022-10-18 20:09:50 +08:00
Sri Sham Haran b18d1f66ae Merge branch 'main' into SP3-8-serialization 2022-10-18 19:50:20 +08:00
Sri Sham Haran da99a5559e Merge branch 'main' into RenderingEditorVPIntegration 2022-10-18 19:09:08 +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
Kah Wei a221cfc1cd Modified SHScriptEngine's serialization functions to take in EntityID instead of SHEntity 2022-10-18 17:25:45 +08:00
Brandon Mak 033ba48304 Editor changes to support viewport integration 2022-10-18 15:04:25 +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
Sri Sham Haran ec6772657f Hierarchy QOL
Undo/Redo Parent Child
Shift select
Undo/Redo create entity
2022-10-17 21:25:59 +08:00
Brandon Mak 17b71393f3 Restructured abit 2022-10-17 16:50:53 +08:00
Xiao Qi 013bb71325 Functions to retrieve mesh and texture data 2022-10-17 15:04:38 +08:00
Xiao Qi b10f490e45 SP3-102 SP3-248 Saving of SHMETA files with asset IDs, retrieval of asset data under works, currently all assets are loaded into memory automatically 2022-10-16 23:15:11 +08:00
Brandon Mak 95ee4b7b55 Resize half working 2022-10-16 19:42:44 +08:00
Sri Sham Haran 7fc417e35a Parent/child multiple entities (WIP) 2022-10-16 18:16:05 +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
Sri Sham Haran 7f2935dcf6 add window pos change for editor windows
add git ignore for user ini
2022-10-16 15:36:14 +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
Sri Sham Haran 228868604a Editor fixes
Integration of mouse pick
Add editor state
Add editor layout
2022-10-16 14:20:35 +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
Sri Sham Haran 20cedbb4ec Merge branch 'main' into SP3-4-editor_fix 2022-10-14 15:53:12 +08:00
Sri Sham Haran 49575893fe Made Editor a system and create editor routine so that the editor routine will run between graphics routines 2022-10-14 15:39:43 +08:00
Sri Sham Haran e027318d22 Inspector View - Collider Component 2022-10-14 14:35:09 +08:00
Brandon Mak d6101c936e Merge remote-tracking branch 'origin/main' into SP3-1-Rendering 2022-10-14 11:53:06 +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 d265aa4541 Merge remote-tracking branch 'origin/main' into SP3-1-Rendering 2022-10-14 00:10:45 +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
mushgunAX 288f58c978 fixed timing of memcpy of keys to keysLast
This in turn fixes GetKeyDown() and GetKeyUp() as the input manager now knows changes of keys between the last frame and current frame.
2022-10-13 23:03:30 +08:00
Diren D Bharwani acd3174c39 Merge branch 'SP3-16-Math' into SP3-2-Physics 2022-10-13 18:15:52 +08:00
Diren D Bharwani e1fb92e3f1 Adding Bounding Spheres 2022-10-13 17:32:53 +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
Diren D Bharwani 381217a1b8 Added Colour 2022-10-13 03:03:21 +08:00
Diren D Bharwani d95dbd5ce6 Reworked Bounding Boxes 2022-10-12 21:59:34 +08:00
Diren D Bharwani 2fa71f0fd9 Added Ray 2022-10-12 19:12:34 +08:00
Diren D Bharwani ff9b504bc5 Moved collider interface into physics object. Added support for removing rigidbodies 2022-10-11 01:26:12 +08:00
Diren D Bharwani e68ef89c00 synced rigidbodies through physics object 2022-10-10 21:21:20 +08:00
Diren D Bharwani 46a082b62e Moved rigidbody creation into physics object 2022-10-10 21:13:14 +08:00
Diren D Bharwani 7c4a9ca004 Added conversions for shade math to reactphysics math 2022-10-10 18:07:21 +08:00
Sri Sham Haran db0b61d16f Reflect RB Enumeration
Add RB to inspector view
2022-10-02 10:56:13 +08:00
Diren D Bharwani 0e518c52a9 Fixed bug when SceneGraph is destroyed 2022-10-02 04:22:32 +08:00
Brandon Mak 3f334da934 Merge remote-tracking branch 'origin/main' into SP3-1-Rendering 2022-10-02 03:09:25 +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
XiaoQiDigipen 39302bc7f1
Merge pull request #79 from SHADE-DP/SP3-6-c-scripting
Added Undo-Redo support for Script Inspectors
2022-10-02 02:47:47 +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