Commit Graph

429 Commits

Author SHA1 Message Date
Glence 4af3440db7 added gameplay for level1 and multiplier combo is done 2023-02-02 22:44:48 +08:00
Diren D Bharwani 931f6fe5e2 Fixed almost everything. Ray debug drawing has a small bug 2023-02-02 20:56:55 +08:00
Diren D Bharwani d5c731dd20 Fixed collision shape debug drawing and more serialisation bugs 2023-02-02 20:48:32 +08:00
mushgunAX e28c6ce1a7 new banks 2023-02-02 20:16:12 +08:00
Diren D Bharwani 3593df3ada Fixed collider shape serialisation 2023-02-02 20:15:59 +08:00
Diren D Bharwani 71f4cdd29e Fixed rigidbody serialisation 2023-02-02 19:23:42 +08:00
Diren D Bharwani 6a57be2e60 Refactored old physics to match new interface
Compiles but still buggy, need a bit of time to clear up all the bugs
2023-02-02 19:06:56 +08:00
mushgunAX 1d0522e334 Audio Implementation for AI 2023-02-02 16:58:40 +08:00
Glence 5b628baedf changes breakable to only minus count on items 2023-02-02 11:16:56 +08:00
Glence ec11f8cb8f Merge branch 'main' into PlayerController 2023-02-02 10:45:21 +08:00
Kah Wei 39fbfbd6fa Added more reliable method of reloading static C# data 2023-02-01 00:34:09 +08:00
Brandon Mak 109f35f297 Merge remote-tracking branch 'origin/main' into SP3-1-Rendering 2023-01-31 19:02:11 +08:00
Glence 8d43fca1cc added models for level 1 and made gamemanager a singleton 2023-01-31 18:13:34 +08:00
Xiao Qi 8c9673cafd Removed editor config from repo 2023-01-31 17:48:29 +08:00
Xiao Qi e0f363f1ec Changed line to only ignore editor config 2023-01-31 17:47:36 +08:00
Brandon Mak e9452093f0 Fixed UI 2023-01-31 15:17:40 +08:00
Glence 0f8e1d6310 Merge branch 'main' into PlayerController 2023-01-31 13:47:55 +08:00
mushgunAX 710bfe1dac Merge branch 'main' into SP3-10-input-management 2023-01-31 12:51:50 +08:00
mushgunAX 38f2ba69db Force use of Dedicated GPU 2023-01-31 12:43:02 +08:00
Glence d1d7d430b1 added breakable food into the scene
#issues to fix
egg collision too small so weight is really small
throwing heavy objects doesnt give enuff force compared to rolling and hitting it
2023-01-31 00:43:25 +08:00
Glence 3e015d924e Merge branch 'main' into PlayerController 2023-01-30 23:30:55 +08:00
Sri Sham Haran 559cda92f1
Delete Editor.SHConfig 2023-01-30 18:27:29 +08:00
XiaoQiDigipen 213ac9d275
Merge pull request #321 from SHADE-DP/SP3-17-animation-system
Animation WIP merge
2023-01-30 17:35:56 +08:00
SHAM-DP 59ef28baf1 Merge branch 'main' into AudioScripting 2023-01-30 16:47:46 +08:00
Kah Wei 61fa2ae923 Merge branch 'main' into SP3-17-animation-system 2023-01-30 15:16:09 +08:00
Kah Wei 53ef202e46 Merge branch 'main' into SP3-17-animation-system
# Conflicts:
#	SHADE_Engine/src/Editor/EditorWindow/Inspector/SHEditorComponentView.hpp
#	SHADE_Engine/src/Serialization/SHYAMLConverters.h
2023-01-30 15:15:46 +08:00
XiaoQiDigipen 5240c837ec
Merge pull request #318 from SHADE-DP/SP3-10-input-management
Implemented Input Binding Panel via Editor
2023-01-30 15:00:58 +08:00
Kah Wei b3f79e31db Forgot to commit shader binary 2023-01-30 14:58:52 +08:00
Kah Wei 52c0cc2f84 Merge branch 'main' into SP3-17-animation-system
# Conflicts:
#	Assets/Shaders/TestCube_VS.shshaderb
#	SHADE_Engine/src/Editor/EditorWindow/Inspector/SHEditorComponentView.hpp
#	SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.h
#	SHADE_Engine/src/Graphics/MiddleEnd/GlobalData/SHGraphicsPredefinedData.cpp
#	SHADE_Engine/src/Graphics/MiddleEnd/GlobalData/SHGraphicsPredefinedData.h
#	SHADE_Engine/src/Graphics/MiddleEnd/Interface/SHGraphicsConstants.h
#	SHADE_Engine/src/Graphics/MiddleEnd/Interface/SHGraphicsSystem.cpp
#	SHADE_Engine/src/Graphics/MiddleEnd/Meshes/SHPrimitiveGenerator.cpp
#	SHADE_Engine/src/Graphics/MiddleEnd/Meshes/SHPrimitiveGenerator.h
#	SHADE_Engine/src/Graphics/MiddleEnd/Pipeline/SHPipelineLibrary.cpp
#	SHADE_Engine/src/Graphics/MiddleEnd/Pipeline/SHPipelineLibrary.h
#	SHADE_Engine/src/Serialization/SHYAMLConverters.h
2023-01-30 14:57:46 +08:00
XiaoQiDigipen 3ff2e6bb92
Revert "Implemented a custom physics engine" 2023-01-30 14:40:55 +08:00
mushgunAX bde191aeca Input Bindings Panel Done 2023-01-25 23:22:15 +08:00
Glence 7d9ab7a381 items changes
items now return back to their original position when owner collides with it
2023-01-25 18:20:26 +08:00
Kah Wei 80a7fe701b Added debug draw for animation system 2023-01-24 23:31:00 +08:00
Diren D Bharwani 4ed7aa3aed Reverted an attempt to stabilise edge detection between polyhedrons 2023-01-23 03:03:40 +08:00
Diren D Bharwani 5730381302 Physics objects can be implicity static if only a collider was added.
Removed the need to create an extra body. Math is great.
2023-01-23 00:56:46 +08:00
Diren D Bharwani a0f6cd3ae7 Cached SAT for improved stability
The effects of baumgarte stabilisation can be rather obvious especially when polyhedrons are thrown around at angles. Regardless, the system is relatively stable bar the added energy from the solving method, which may make for a more "bombastic" physics playground
2023-01-23 00:37:22 +08:00
Diren D Bharwani 0c3106f15b Abstracted contact derivation as setup for cached SAT 2023-01-22 19:20:03 +08:00
Diren D Bharwani 1dc16fdcda Fixed typos 2023-01-22 17:38:51 +08:00
Xiao Qi 80fb8f7c73 Saved and loaded bone offsets 2023-01-22 17:00:55 +08:00
Xiao Qi 6872bae151 Updated compiled shmodel file for racoon with fixed rig node order and build format
Fixed bug when building histogram for vertex weights
2023-01-18 04:00:48 +08:00
Xiao Qi 1b4397c76d Updated all compiled models
Fixed UV mappings
2023-01-17 14:38:50 +08:00
Glence 19c11447c0 added base to return item back to original pos 2023-01-16 21:31:38 +08:00
Glence affa6f0dd8 added implantation for audio scripting 2023-01-16 21:05:21 +08:00
Kah Wei bce7237e20 Modified shader to support instanced bone first index and system to support runtime updating of animations 2023-01-16 21:02:37 +08:00
Diren D Bharwani 36e01260ec Merge changes from main missing from previous commit 2023-01-16 16:23:48 +08:00
Diren D Bharwani dc55c31c36 Merge remote-tracking branch 'origin/main' into SHPhysics 2023-01-16 16:23:20 +08:00
Diren D Bharwani 8475bdccd7 Merge remote-tracking branch 'origin/main' into SHPhysics 2023-01-16 16:22:59 +08:00
Brandon Mak 09911cc50c Merge remote-tracking branch 'origin/main' into SP3-1-Rendering 2023-01-16 15:33:37 +08:00
Brandon Mak e115d4b965 Reverted light properties back to main 2023-01-16 15:33:20 +08:00
Brandon Mak 1526176c58 Shadows WIP 2023-01-16 15:06:46 +08:00
Diren D Bharwani c077575a73 Fixed convex-convex face detection
Minor bugs with contact point detection. Will test more before pushing into main
2023-01-16 15:01:14 +08:00
maverickdgg a41354f2ce Added changing texture of buttons 2023-01-16 14:35:16 +08:00
Xiao Qi 7f9991038a Working commit 2023-01-16 14:34:59 +08:00
maverickdgg 02ba0c6dc9 merge 2023-01-16 11:44:34 +08:00
maverickdgg 0c7224b8be Merge branch 'main' into UI-Test 2023-01-16 11:37:38 +08:00
maverickdgg 5190c490c9 added events 2023-01-16 11:36:12 +08:00
maverickdgg 5aa7bfe03e button fixed 2023-01-16 07:34:44 +08:00
Diren D Bharwani 19bffc9124 First half of re-implementing face-face contact derivation 2023-01-16 02:44:27 +08:00
Kah Wei 7ecb8b11ad Added support for rendering bone-less models using the animated shader 2023-01-13 21:26:05 +08:00
Kah Wei d1a41ea194 Fixed raccoon not rendering for animated material 2023-01-13 20:33:25 +08:00
Diren D Bharwani ef5016351b Reverted changes to inertia tensors
Created a new branch since I reverted to an older commit but kept some new updates. This will be the main branch moving forward.
2023-01-13 15:26:21 +08:00
Brandon Mak f217562fef Shadows are sort of working 2023-01-11 20:04:53 +08:00
Brandon Mak 4cd9a6cea0 shadows WIP 2023-01-11 10:35:29 +08:00
Brandon Mak 4a06032bea Shadows WIP 2023-01-11 08:25:38 +08:00
mushgunAX 356ec24cc2 Change default pathing for binding file I/O 2023-01-09 17:21:24 +08:00
Kah Wei 19ba71e51c Added animated raccoon material and deleted unused skinned vertex shader 2023-01-09 17:05:10 +08:00
Brandon Mak cb9223db0b Enabled partially bound bit for descriptor sets with variable size
- Shadow maps can be sampled from compute shaders
2023-01-09 11:06:10 +08:00
maverickdgg 88491ffbd8 ToggleButton fix 2023-01-09 09:56:46 +08:00
maverickdgg e89b6f5c4c Fixing button 2023-01-09 09:38:53 +08:00
maverickdgg 5f11a931c7 Added Toggle Button, Fixed canvas Scalar 2023-01-09 09:24:20 +08:00
maverickdgg b293b28a56 Button fix 2023-01-09 07:14:40 +08:00
mushgunAX baaeb9ee10 Input Binding File I/O 2023-01-08 21:05:09 +08:00
Xiao Qi 67db3e636c Updated racoon model and files 2023-01-08 12:37:48 +08:00
Xiao Qi 1a2a514f98 Updated all models 2023-01-07 22:00:46 +08:00
Xiao Qi de0dc5db61 Recompiled models 2023-01-07 21:48:31 +08:00
Brandon Mak 77a5829fc9 Shadows WIP 2023-01-07 17:45:49 +08:00
Brandon Mak d3cd36984d Shadow map WIP 2023-01-07 07:42:42 +08:00
Brandon Mak 19f9b67550 Shadow map WIP
- Added companion subpass object to subpass
- Lighting sub system updates a light's renderer when it is a valid handle
- Light component's renderer will be created in the graphics system event when a light's shadow is enabled
2023-01-06 10:40:19 +08:00
Diren D Bharwani 8ca4045d55 R for retard 2023-01-05 17:53:48 +08:00
Diren D Bharwani 0c92e7ff6c Added more comments and clarity for polyhedron edge contacts 2023-01-05 14:40:59 +08:00
Diren D Bharwani 68e11ba48e Added edge vs edge contacts for convex polyhedron collisions 2023-01-05 13:42:17 +08:00
Diren D Bharwani c484a088fd Added first half of Gauss Map Optimised SAT 2023-01-05 01:12:25 +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
Diren D Bharwani a49c674c2b Generalised the Parallel Axis Theorem for computing inertia tensors 2023-01-04 15:03:58 +08:00
Diren D Bharwani f7e867098d Small changes to rigidbody tooltips 2023-01-03 20:30:20 +08:00
Diren D Bharwani b2645fb584 Added support for composite colliders 2023-01-03 18:53:21 +08:00
Diren D Bharwani 0460d776b0 Fixed collision tag panel fallacies and saving of tag masks 2023-01-03 10:40:02 +08:00
Diren D Bharwani 1b5024793c Added debug drawing for rays 2023-01-03 10:14:39 +08:00
Diren D Bharwani 1f2a9820d1 Readded collision tags and moved collision filtering to an earlier stage 2023-01-02 22:49:12 +08:00
Diren D Bharwani 58a44997b2 Reworked raycasting on engine side. Re-added raycasting to scripting 2023-01-02 22:31:48 +08:00
Diren D Bharwani 6f55f202b9 Added planes 2023-01-01 16:53:13 +08:00
Diren D Bharwani 37db6a2bf1 Merge remote-tracking branch 'origin/main' into PhySH 2023-01-01 14:11:47 +08:00
Diren D Bharwani f3c0bdbcfd Clean up 2023-01-01 03:24:34 +08:00
Diren D Bharwani 67907b1ca9 Replaced twin-edge dependency on sphere vs convex polyhedron 2023-01-01 02:48:02 +08:00
Diren D Bharwani 00f8726e46 Solved edge case for sphere vs convex polyhedron 2023-01-01 02:42:44 +08:00
Diren D Bharwani 3a7336fe15 Improved stability of sphere vs convex polyhedron except for one edge case 2022-12-31 18:43:46 +08:00
Diren D Bharwani 6451ca5e95 forgot to flip a normal 2022-12-31 01:40:28 +08:00
Diren D Bharwani 896b47c1a0 Fixed and optimised sphere vs convex polyhedron
Improved sphere vs convex polyhedron from O(n^2) to O(n). Math is amazing.
2022-12-31 01:11:25 +08:00
Diren D Bharwani 82d46fce99 Fixed voronoi region tests for sphere vs convex polyhedron 2022-12-30 23:53:45 +08:00
Diren D Bharwani 3586c7ffdc Added mostly working sphere vs convex polyhedron collision detection 2022-12-30 21:43:22 +08:00
Diren D Bharwani 50e3ddf0dd Fixed box inertia tensor calculation 2022-12-30 17:59:59 +08:00
Diren D Bharwani 400cbb35d9 Partial implementation of a generic convex polyhedron object 2022-12-30 00:45:37 +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
Brandon Mak 99e7dbfa01 WIP 2022-12-28 20:47:20 +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
Diren D Bharwani 0df6e09ed6 Added box collision shapes 2022-12-24 13:32:50 +08:00
Diren D Bharwani 89f1f60064 Added physics settings menu for easily toggling debug draw states 2022-12-24 02:19:53 +08:00
Diren D Bharwani b667e4df87 Implemented axis locking constraints 2022-12-22 03:11:14 +08:00
Diren D Bharwani f4f6cb7eae Fixed sequential impulses 2022-12-22 01:10:25 +08:00
Diren D Bharwani 92ed8a29ff Fixed bug with non-dynamic masses being overriden 2022-12-21 19:04:10 +08:00
Diren D Bharwani d109d06764 Implemented sequential impulses using baumgarte stabilisation
There is a bug with masses of static bodies not being properly set
2022-12-21 18:57:10 +08:00
Diren D Bharwani 265a5bece8 Slight refactor to fix collision states for very fast moving objects 2022-12-21 00:40:01 +08:00
Diren D Bharwani 751a16dcc3 Tested collision detection with collision states 2022-12-20 02:13:06 +08:00
Diren D Bharwani cf9d4ef04b Implemented backbone for collision detection with broadphase 2022-12-19 16:56:34 +08:00
Diren D Bharwani af39662748 Merge remote-tracking branch 'origin/main' into PhySH 2022-12-16 14:04:58 +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
Diren D Bharwani 6b8232ae91 Fixed bug where intertia tensors were not reset when unlocking axes 2022-12-16 02:02:20 +08:00
Diren D Bharwani 27760a95c9 Tested physics interactions with scripts 2022-12-15 23:00:15 +08:00
Kah Wei 98ff16d00c Added deebug drawing of cubes of any transform 2022-12-15 01:45:44 +08:00
Kah Wei 06cc969658 Reworked DebugDraw system (only lines now) 2022-12-14 01:20:12 +08:00
Diren D Bharwani af3a5e7dc9 Re-implemented Collider Debug Drawing 2022-12-13 03:54:37 +08:00
Diren D Bharwani c1d7702914 Moved debug draw state to colliders. Synced collider positions with rigid bodies 2022-12-11 20:12:26 +08:00
Diren D Bharwani 38b1c46d1f Added physics world and tested applied gravity for linear movement 2022-12-05 00:20:29 +08:00
Diren D Bharwani ca45a12186 Restructured Physics Systems & Interfaces 2022-12-04 17:31:22 +08:00
Diren D Bharwani 6cd203179a Added Rigid Body 2022-12-02 19:01:08 +08:00
Glence 81978a90b6 added more audio and tidy up folder
tidy up scripts folder
added more audio (cause burden randall cant make up his mind)
adjusted main scene abit
2022-11-26 08:28:37 +08:00
Glence cae8358341 updated scene changes 2022-11-25 23:10:17 +08:00
Glence 1302a7e58d added jump var changes
change jump to be in update
added audio for AI
2022-11-25 22:53:38 +08:00
Glence 92ce7c96a8 Merge branch 'main' into PlayerController 2022-11-25 22:34:49 +08:00
Glence fb512e7fc5 added the new banks in
removed unneeded bank
added new audio
2022-11-25 22:32:41 +08:00
mushgunAX 609be908f9 Revert "Made player jumping more responsive"
This reverts commit d6fab4439f.
2022-11-25 20:18:36 +08:00
mushgunAX a541565e55 Merge branch 'main' into AIFinalFixesGAM300M3 2022-11-25 20:17:11 +08:00
mushgunAX 5b41e832c6 Enhanced AI with better chase logic
- AI now keeps track of last waypoint he has seen player at and heads there in an attempt to chase him down
- AI can be made to reverse his chase/patrol path by running around him
- The scene with the AI fix is called "MainGameWithAIFixed"
2022-11-25 20:16:31 +08:00
Sri Sham Haran 27aadf67d3 threw in AI to maingame.shade 2022-11-25 19:03:23 +08:00
Glence 181af5b3e5 fix throw food bug
added inverse camera controls
2022-11-25 16:23:26 +08:00
mushgunAX 7499011ea2 Merge branch 'main' into ScriptingAI 2022-11-25 16:14:06 +08:00
mushgunAX 7003262a5d Fixed AI even after scene change
-More reliance on the blackboard for keeping variables among a tree's nodes
-Half extents of the AI fixed
2022-11-25 16:12:58 +08:00
Glence 413156dabb Merge branch 'main' into PlayerController 2022-11-25 15:45:35 +08:00
Glence 6ac9bc4e94 added breakables to the main game and fix issues with it 2022-11-25 14:45:19 +08:00
Diren D Bharwani afd2abf036 Fixed pre & post physics transforms update routines 2022-11-25 14:06:20 +08:00
Glence 9daaade56a Merge branch 'main' into PlayerController 2022-11-25 13:22:51 +08:00
Xiao Qi d72a532623 Added object checks in leaf scripts 2022-11-25 12:09:03 +08:00
mushgunAX c5d490b8b2 Added null checks for AI blackboard data
- Null checks added to prevent AI causing the engine to crash
2022-11-25 11:44:58 +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
mushgunAX 4daaa8e897 Added SFX to AI
- Footsteps, alert yell and unalert humming
2022-11-25 00:56:40 +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
Glence f71675ad0e Merge branch 'main' into PlayerController 2022-11-24 22:41:00 +08:00