Commit Graph

334 Commits

Author SHA1 Message Date
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
mushgunAX d6fab4439f Made player jumping more responsive
- Changed the input check in the jump function from a GetKeyDown() / GetKeyUp() to a GetKey() / !GetKey()
- This makes jumping a lot more responsive
- This also means holding the jump button causes the raccoon to "bunny hop" until jump button is released
2022-11-24 21:56:06 +08:00
mushgunAX c0f3720fd2 AI expected to work with the scene. To Verify. 2022-11-24 21:26:05 +08:00
Glence 9473359076 added the base for raycast in pickandthrow 2022-11-24 14:05:02 +08:00
Glence 5ee8403e80 make starting scene mainmenu
change playercontroller to fixed dt
2022-11-24 01:08:08 +08:00
Glence d8b2addd1f added the fix for AI 2022-11-23 22:44:15 +08:00
Glence ff318cee2e added ai scripts and in the scene 2022-11-23 21:02:33 +08:00
Glence caefae3aac added the change scene into winscene 2022-11-23 20:51:22 +08:00
Glence 8469ebd960 setting the value into scripts 2022-11-23 20:48:40 +08:00
Glence af93e59d0e added text to maingame 2022-11-23 20:26:53 +08:00
Glence ee4e31f45f remove unwanted items in some scripts 2022-11-23 19:11:41 +08:00
Glence 22972d7455 updated the music banks
update a tem fix for physicsSystem
2022-11-23 17:37:06 +08:00
Glence 152007e810 adding audio for the rest of the level
setting player position so it doesnt fall through the floor
2022-11-23 16:57:32 +08:00
Glence 33bab64f12 Merge branch 'main' into PlayerController 2022-11-23 14:00:28 +08:00
XiaoQiDigipen 6d2591331b
Merge pull request #257 from SHADE-DP/SP3-6-c-scripting
Fixed bug where rendering inspectors for scripts that contain uninitialized List<T>s causes crashes
2022-11-23 13:49:42 +08:00
Glence 5356cd0800 added item model and setting the main game scene 2022-11-23 13:44:03 +08:00
Xiao Qi 8ad46afc22 Removed spaces from UI Test scene to stop regenerating of asset meta 2022-11-23 13:06:50 +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 67db744856 Uninitialized List<> will no longer cause crashes with the script inspector 2022-11-23 10:08:48 +08:00
Glence 4cacbb3300 adding main/lose/win scene 2022-11-23 00:44:27 +08:00
Glence 332d0a846d Merge branch 'main' into PlayerController 2022-11-22 22:13:52 +08:00
maverickdgg 7c36886669 Fix for Canvas scaler 2022-11-22 21:03:53 +08:00
maverickdgg 142f025692 Added check for editor camera. 2022-11-22 20:54:16 +08:00
Diren D Bharwani 053c3e04fd Merge remote-tracking branch 'origin/main' into SP3-2-Physics 2022-11-22 19:26:47 +08:00
Diren D Bharwani c18d58cba3 Fixed various physics bugs
Fixed bug where world was prebuilt and entity IDs were wrongly synced
Fixed collider properties not being synced in the first frame during mass property computations
Fixed static objects being wrongly updated post world update
2022-11-22 19:26:17 +08:00
Kah Wei 1bd19b90a8 Merge branch 'main' into SP3-6-c-scripting 2022-11-22 18:11:17 +08:00
Kah Wei 4478b6db62 Added editor support for FontAsset, MeshAsset and MaterialAsset. 2022-11-22 17:48:01 +08:00
Glence c91897f46a made changescene a public in sceneManager.hxx
added a main menu scene 
added some new texture
2022-11-22 17:28:48 +08:00
Glence f1c7f42e13 Merge branch 'main' into PlayerController 2022-11-22 16:21:28 +08:00
Glence 71e8ba6044 doing up the main menu 2022-11-22 16:18:16 +08:00
XiaoQiDigipen 1ca216801f
Merge pull request #245 from SHADE-DP/SP3-1-Rendering
Updated SSAO shader
2022-11-22 16:01:11 +08:00
Brandon Mak 780c716199 Updated SSAO shader 2022-11-22 16:00:05 +08:00
Glence 81d44e6c59 small changes to the scene 2022-11-22 14:59:46 +08:00
Glence 219d5025f3 adding in the env and world 2022-11-22 14:14:55 +08:00
Xiao Qi 3b6d1c815d Merge branch 'main' into SP3-17-animation-system 2022-11-22 13:55:17 +08:00
Glence 6c4ec7c807 Merge branch 'main' into PlayerController 2022-11-22 13:44:27 +08:00
XiaoQiDigipen 437cb075d3
Merge pull request #242 from SHADE-DP/SP3-141-Camera-System
FIxed major crashes caused by main camera retrieval and entity destroy
2022-11-22 12:55:17 +08:00
maverickdgg 858e200fb3 Bug fixes 2022-11-22 11:32:19 +08:00
Brandon Mak 4377972315 Added functionality for graphics system to render to swapchain image
- Added functionality for graphics system to render to swapchain image when SHEDITOR is disabled. This is done via rendering a simple quad on screen and using an input attachment as a texture to the shader.
2022-11-22 10:10:26 +08:00
Brandon Mak 964b375ccd Write to swapchain image without SHEDITOR defined WIP 2022-11-22 09:05:56 +08:00
Glence 56e7f73bbb adding var audios into scripting 2022-11-21 21:01:44 +08:00
Kah Wei 1ff8c9715d Merge branch 'main' into SP3-17-animation-system 2022-11-21 12:15:57 +08:00
Glence 293cc586d1 aiming is done in player 2022-11-21 00:12:09 +08:00
XiaoQiDigipen e10c1f518f
Merge pull request #234 from SHADE-DP/SP3-1-Rendering
Implemented serialization and editor inspector display for text renderer component
2022-11-20 22:41:06 +08:00
Brandon Mak 5d3603ac7d Text Renderer Component serialization 2022-11-20 22:24:24 +08:00
Brandon Mak c686954c77 Implemented Text Rendering
- The Text Renderer Component serialization and reflection onto inspector is not in yet, but there is basic functionality.
- Updated shaders
- Topology for text rendering is changed to triangle fan. Front facing for primitives is clockwise. Vertex state has both the positionOffset and glyphIndex attribute set as instanced.
-  Freetype instance is now initialized in InitBoilerplate
- SHCamera no longer calling SetPerspective/Ortho inside HandleResize
- Font Geometry is now loaded in SHFontLoader into SHFontAsset fontGeometry variable.
2022-11-20 19:03:12 +08:00
Diren D Bharwani 5871f32547 Merge remote-tracking branch 'origin/main' into SP3-2-Physics 2022-11-20 17:23:38 +08:00
Glence 8107c92754 Merge branch 'main' into PlayerController 2022-11-20 16:53:12 +08:00
Glence 875657cfde added playerstate scripts
added sub folders for player
remove unneeded scripts
2022-11-20 16:27:39 +08:00
Diren D Bharwani a0f4f3b00a Added collision tag names file 2022-11-20 15:32:33 +08:00
Brandon Mak 575132c4bb Added UI Component check in SHBatch
- UI Component shader changes
- Fixed picking issue
2022-11-20 01:45:14 +08:00
Kah Wei 841948b82c Added support for Bone Weights and Bone Indices vertex attributes for meshes 2022-11-20 01:33:55 +08:00
Brandon Mak d55adcdfe4 Merge remote-tracking branch 'origin/main' into UI_Integration 2022-11-19 22:08:16 +08:00
Brandon Mak 6d1f30e05b Merge branch 'SP3-1-Rendering' into UI_Integration 2022-11-19 21:45:21 +08:00
Brandon Mak 223276dd87 Created partial functionality to render a texture to swapchain image 2022-11-19 21:44:41 +08:00
Brandon Mak 798803cf81 UI WIP 2022-11-18 22:03:21 +08:00
Glence a77740db51 Merge branch 'main' into PlayerController 2022-11-18 17:16:04 +08:00
Glence 0551b1fb8a added the new banks
added onplay/onpause/onstop for audiosytem
2022-11-18 17:04:06 +08:00
Brandon Mak 03ce142137 Merge remote-tracking branch 'origin/main' into SP3-1-Rendering 2022-11-18 16:37:06 +08:00
Glence 7d2435131f added game manager along with scoring zones for item to be thrown in 2022-11-17 12:54:08 +08:00
Glence e4f23dc6c3 added a game manager along with some player controller changes 2022-11-17 00:23:38 +08:00
Glence df9cb11446 add to vel instead of setting it 2022-11-16 22:28:08 +08:00
Brandon Mak f991e7b227 Fixed some text shaders and changed some image parameters
- SHApplication has a font compiler exe call to test compiling a sample font
- SHVkImage now takes in a vector instead of a span for mip offsets (fuck it, copy the mip offset. The RAM can cry about it).
- Removed font data descriptor set layouts from graphics global data
- FONT_DATA set index is changed to 4 instead. This clashes with Render graph resource set index but it won't matter. 
- Added entity ID render graph resource to scene render graph
- SHFont format for images is now R8G8B8A8UNorm
2022-11-16 16:57:08 +08:00
Kah Wei 3affaf426d WIP Runtime Material Editing support 2022-11-16 09:06:29 +08:00
Glence 3f3770f74f now hard sets the vel instead of adding force 2022-11-15 18:52:46 +08:00
Xiao Qi 96cb832e81 Font meta file and line in application to manually trigger font load 2022-11-15 13:48:54 +08:00
Brandon Mak 4eb5fa64e0 Text Rendering WIP 2022-11-14 19:31:26 +08:00
Glence 37bbf22779 added changes 2022-11-14 19:05:48 +08:00
Brandon Mak 2a05d821d5 Merge remote-tracking branch 'origin/main' into SP3-1-Rendering 2022-11-14 18:36:33 +08:00
Brandon Mak d95ed3f067 Text Rendering WIP 2022-11-14 18:36:26 +08:00
Glence 22da6e237d Merge branch 'main' into PlayerController 2022-11-14 16:17:03 +08:00
Brandon Mak ac17721363 Merge branch 'main' into SP3-1-Rendering 2022-11-14 15:38:33 +08:00
Glence bba85c3d1f removing the constructor for c# 2022-11-14 15:20:58 +08:00
Glence 04273620a6 Merge branch 'main' into PlayerController 2022-11-14 15:03:04 +08:00
Diren D Bharwani 3c61b7519b Merge remote-tracking branch 'origin/main' into SP3-2-Physics 2022-11-14 00:25:52 +08:00
Diren D Bharwani fe1b9d14f5 Partial implementation of syncing SHADE and ReactPhysics active states 2022-11-14 00:25:24 +08:00
Glence d9beeda7e0 adding the base for fsm for player 2022-11-13 21:56:28 +08:00
Xiao Qi e3d2515740 Modular house part asset test 2022-11-13 20:49:31 +08:00
Xiao Qi d0bcd4869f Removed unused raw asset files 2022-11-13 20:19:26 +08:00
Xiao Qi a8d4f9c756 On building of asset file directory, check for recognised assets without meta file and generate 2022-11-13 19:51:19 +08:00
Diren D Bharwani c953931f4f Merge branch 'main' into SP3-2-Physics 2022-11-13 17:57:30 +08:00
Sri Sham Haran eed950f26f Merge branch 'main' into SP3-4-Editor 2022-11-13 17:26:56 +08:00
Sri Sham Haran b1c004771c Gave the damn entities names cuz i was going crazy 2022-11-13 17:26:35 +08:00
Kah Wei 4dc8527395 Reworked scripts to no longer need definition of constructors 2022-11-13 16:29:25 +08:00
Diren D Bharwani 3512ed3397 AHHHHHH
i want to pull my hair out
2022-11-13 15:50:03 +08:00
Diren D Bharwani 86ca047c88 Merge remote-tracking branch 'origin/main' into SP3-2-Physics 2022-11-13 14:49:44 +08:00
Diren D Bharwani f8bbcdd909 Small fixes 2022-11-12 17:28:49 +08:00
Diren D Bharwani 4ad23a605f Fixed compilation issues from merge 2022-11-12 17:04:09 +08:00
Diren D Bharwani 3faf3804aa Merge remote-tracking branch 'origin/main' into SP3-2-Physics 2022-11-12 16:57:45 +08:00
Kah Wei 24dcd77f32 Added tooltip and range attribute support for lists in scripts 2022-11-12 12:17:11 +08:00
Kah Wei 4c01d68f95 Added list editor tests 2022-11-12 02:33:12 +08:00
Glence fbec2bf866 Auto stash before merge of "main" and "origin/main" 2022-11-11 14:17:47 +08:00
Glence 4f9015995c Merge branch 'main' into PlayerController 2022-11-11 09:21:36 +08:00
Kah Wei 8670b419d0 Merge branch 'main' into SP3-6-c-scripting 2022-11-10 22:25:58 +08:00
Brandon Mak 9d367a359a Text Rendering WIP 2022-11-10 16:59:26 +08:00
Diren D Bharwani c40992b48c Merge remote-tracking branch 'origin/main' into SP3-2-Physics 2022-11-10 14:44:18 +08:00