Commit Graph

113 Commits

Author SHA1 Message Date
78171039a1 guh 2026-05-28 21:54:02 -05:00
e434f33092 tie joint matrices to ragdoll joints 2026-05-27 23:06:07 -05:00
5402aff2a8 imagine my shock the week-long issue predicated on scaling issues (constraint solving is now scaling aware, automatic ragdoll rigging seems to work, but need to actually bind the transforms to joint matrices) 2026-05-27 20:54:51 -05:00
94ce7be618 even more inane code cleanup, migrated immediate mode debug draw into its own file, added transform flattening pre/post physics step (for two reasons) 2026-05-26 22:08:16 -05:00
0a92fed14a attempt at generating a ragdoll from a skinned mesh (doesn't work right now), fixed normal mapping 2026-05-24 22:23:41 -05:00
3a2dfb0833 retrieval of collision events 2026-05-23 15:34:36 -05:00
52b972167a body_medium_impact_hard6.wav (ragdoll works) 2026-05-22 22:23:42 -05:00
eec75781ba an almost perfect ragdoll (has issues when you grab it) 2026-05-22 22:02:13 -05:00
6deb8795c5 even more inane code cleanup, more lua bindings, multiple bodies for an entity (doesn't work?), ragdoll (doesn't work) 2026-05-22 20:19:28 -05:00
40157df205 even more inane cleanup, and even more constraints 2026-05-22 00:02:37 -05:00
7bd4b00514 NGS position solver fixed because of a pesky minus sign 2026-05-20 22:32:34 -05:00
9097aebc92 lots of physics cleanup and fixes (split-impulse performs better than a NGS position correction somehow?) 2026-05-20 20:59:47 -05:00
098281ad81 removed PGS solver since it is the iterative impulse solver, fixed returning problem of boxes sinking, some other things 2026-05-20 15:02:29 -05:00
437df59459 more cleanup (physics seem to /almost/ work without issues) 2026-05-19 22:25:22 -05:00
a1f62ef0c3 added forward+ rendermode, added debug draw for physics system (revealed my meshAabb/neshObb ocntact points were wrong) 2026-05-18 21:11:42 -05:00
6b07173804 added OBB colliders, painfully trying to resolve issues with rotating bodies 2026-05-16 23:19:49 -05:00
dc192064b1 fixed the nagging problem of GUI elements being in their final position for one frame as i'm not setting them to their initial states pre-first tick, disabled BARYCENTRIC_CALCULATE until I can be assed to fix the 'reconstructed geometry data lags behind' issue 2026-05-13 22:34:30 -05:00
b3df72bfab validation errors squishing, finally bothered to seamlessly handle N-buffered UBOs, fixed shadowmapping not require a constant rebuild every time the lights changed (by instead binding all shadow textures and not-so-clever tricks), some other things 2026-05-13 22:14:46 -05:00
2e018962ee fixed shadowmaps 2026-05-11 16:41:57 -05:00
a10ed8bc60 alleged optimizations to vxgi (maybe), fixed crash with enabling shadowmapped lights (but they're broken still for some reason) 2026-05-08 21:09:22 -05:00
a145bae065 updates to imgui integration (added thread metrics, moved things to a behavior, fixed bug i dont remember existing where imgui doesn't render for new scenes because it doesnt rebind to the new gui mode 2026-05-05 14:54:34 -05:00
89ca3efb3e rewrote meshopt (again) to actually perform vertex optimizations, and fixed LOD generation), fixed LOD level calculation (because Vulkan's -Y ruined things), some tweaks and fixes to the memory pool / allocator (it will still segfault on termination because of how things are ordered) 2026-05-04 21:14:04 -05:00
4344323f13 further segregation and reorganization of physics system files 2026-05-01 14:54:09 -05:00
60527c4e6b more physics fixes (somewhat finished hulls, gravity-related jitter-bounces from position correction (removed it), fixed BVH bugs, islands/bodies always being awake, refit/rebuild strategies, non-flattened BVHs not working, spheres not rolling, etc) 2026-04-30 22:44:32 -05:00
9c25bf9a9a added convex hull colliders (mesh colliders with fundamental differences), also fixed mesh v mesh because of some dumb assumption that the BVH was in worldspace 2026-04-29 23:19:54 -05:00
3965d3f719 cleaned up GUI system ((re)added simple anchoring system, although I need to actually utilize it), fixed SDFs looking like shit 2026-04-28 22:56:10 -05:00
84f2b63a8f revamped meshopt-based mesh optimizations, fixed mesh slicer/gridder, added LOD system (i think it works), physics tweaks (to-do: make meshMesh viable) 2026-04-27 17:09:26 -05:00
42aaf444ff lots of changes (physics tweaks, actually use dynamic buffers for UBOs, perf bottleneck fixed, bug fixes, etc) 2026-04-20 17:33:22 -05:00
012cddd37f more fixes before I lose my mind again (something something making VXGI look actually nice, correctness, fixing graphs, etc etc) 2026-02-21 21:26:37 -06:00
de44a6083d fixes 2026-02-16 18:10:36 -06:00
52fa565eb5 some more menial tasks (implemented triangleAabb as composing the AABB as a triangulated box since it seems better that way, added inertia calculations for meshes even though I think the approach for inertia tensors and rotations seems really wrong) 2025-09-21 19:30:11 -05:00
3ac3022f88 this is saner (although selectively querying for specific mesh attributes on view construction, just to have an interface to access them by name seems extremely silly), also triangleAabbSAT for stability (it's marginally more stable) 2025-09-17 12:34:11 -05:00
58dee945f8 proper pre-computing of mesh views (with equally horrid code) 2025-09-15 18:05:15 -05:00
16062f8135 fixed the bottleneck....... (mesh.makeViews incurred a very heavy penalty per triangle, currently naively caching the mesh views until I can be bothered to muck up the function headers) 2025-09-15 17:28:13 -05:00
8dd83f7f49 I guess I'll try and do some work (something about trying to force inline the vector operators but failing, and ensuring the internal physics system should work for the dreamcast with its quantized meshes (maybe, it's still quite underperforming compared to RP3D), probably some other things from a week or so ago) 2025-09-14 20:37:34 -05:00
36612f9ce9 fixed AABBs calculated from the graph system being wrong because for whatever reason i was transforming the bounds to world space, and this never mattered when using RP3D because it was always fed local extents...... 2025-09-05 21:25:59 -05:00
a66f56ad9f refractor to try and minimize differences between reactphysics and internal physics engine (that i really need to optimize now), reverted some things with the graph system to get it to work again on scenes with more than one mesh (because for some reason instance IDs need to be global and i cant for the life of me figure out how to properly remap them) 2025-09-01 23:16:43 -05:00
3b5db2c32c finally it works (to-do: support for reading from fp16/bf16/quantized vertex data, some method of emitting contact information to the colliding bodies, collision masking, per-body gravity, fix sinking occuring when using the collider offset, some other things) 2025-09-01 14:51:46 -05:00
461894741f using a PSG solver is almost stable sans some weird oddities, would love to use a block solver but the current one is flawed 2025-09-01 00:13:20 -05:00
40da94c422 wasted a week on trying to roll out my own physics system just to be humbled when it almost works but doesn't work well enough (probably a bad solver, will probably revisit it at a later date) 2025-08-30 15:52:30 -05:00
532c4054b6 audio cleanup or something (because it's lagging the dreamcast build when emitting sounds) 2025-08-24 11:38:37 -05:00
e5de1491f2 skip rendering the next frame under vulkan, as this fixes the crash on scene load when the scene graph storage buffers need to be resized (even though nothing makes sense) 2025-08-20 15:22:35 -05:00
0a29063869 realized past me realized that aliasing buffers isn't foolproof and added a system to fetch buffer descriptors by name from a source, yet never used it (re-bind buffer descriptors on mesh updates, need to fix the crash for graph storage when it resizes...) 2025-08-19 19:18:12 -05:00
6d4837e3cc fixed DC texconv having some weird quad issue by just rebasing from the original file and de-QTing / reconverting 2025-08-19 00:30:34 -05:00
8298fcec2d more cleanup, crammed DC texconv into here for later use 2025-08-18 20:47:25 -05:00
c9448f9b74 lua optimizations to remove as much overhead as possible (to almost nothing), adjusted how metadata is accessed in lua (it requires explicit pasting of macros) 2025-08-17 20:48:20 -05:00
5f8a80c25f resolved an oversight past me never realized where you still need to call destructors on placement new'd memory (and other things to resolve a memory leak that was very noticeable with 16MB of RAM) 2025-08-16 12:19:55 -05:00
cb1d9c4daf some gui hook cleanup, added keyboard/controller input for selecting gui options, fixed a crash when loading larger scenes because of low buffer size (or at least I believe it was that) 2025-08-16 00:25:06 -05:00
d5e58ccb9b somehow broke and fixed mesh quantization breaking again after streaming mesh data (need to dequantize first because naively just resetting the descriptors is wrong) (although I might need to update RP3D because collision breaks only when streaming mesh data and DC uses an older version) 2025-08-15 00:07:13 -05:00
ab9aa0ae13 fixed oversight in uf::Mesh::convert, fixed texture streaming not working in OpenGL (the graphic.material.textures weren't updated) fixed missing texture being used in VXGI for vulkan (think it was from reinitializing the texture object itself if it was aliased rather than just resetting the handles) 2025-08-14 23:32:08 -05:00