Commit Graph

232 Commits

Author SHA1 Message Date
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
b37eb0ed62 added per-thread metrics 2026-05-03 00:27:47 -05:00
2a72cb42d8 more tweaks to the threading code (made scene loading much faster as a by-product), beginnings of allowing behaviors to specify thread name to use (to implement the latter half later) 2026-05-02 21:32:27 -05:00
4344323f13 further segregation and reorganization of physics system files 2026-05-01 14:54:09 -05:00
fe10395ce8 organized physics system 2026-05-01 11:51:24 -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
b523878912 revamped makefiles, overhauled memory pool allocator (instantiator works without memory pooling as a byproduct) 2026-04-29 19:04:49 -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
fc36c77167 physics fixes 2026-04-26 20:27:14 -05:00
2c3da15a4d fake frames (and cleaning up swapchain code) 2026-04-25 00:37:19 -05:00
8803034a60 added frame-gen via FFX-SDK (naively) 2026-04-24 00:18:59 -05:00
a6c74572c6 a shoddy depth-of-field effect, repaired FFX-FSR integration (and upgraded to FFX-FSR3.1 upscale) 2026-04-22 22:37:37 -05:00
6d05ab865a neurotic optimizations (overhauled depth pyramid and bloom to ffx-sdp), more fixes 2026-04-21 20:49:47 -05:00
fd9036ee39 repaired occlusion culling via depth pyramids 2026-04-20 23:40:55 -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
7fe261a36e added grounded state, attempted to try and snap velocities for grounded bodies with small enough velocities (but it doesn't seem to prevent jittering bodies that resolve collision-from-gravity......) 2025-09-22 20:44:00 -05: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
1e548265ad more optimizations by making node bounds an AoS instead and some other tweaks and fixes (even though it doesn't seem to amount to much tangible results because the scene explodes when I make props in mds_mcdonalds dynamic) 2025-09-15 16:01:05 -05:00
7dee5ccd53 lol... 2025-09-15 07:13:26 -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
cb36936411 more refinements and optimizations for the physics 2025-09-05 19:08:07 -05:00
fff258917e fixed dynamic/static split BVHs because of some dumb assumptions, fixed contacts being order dependent from not flipping the normals for '*Mesh' contacts generated, some other things (scenes don't lag to high hell but my props and doors aren't collidable...) 2025-09-04 22:22:08 -05:00
e1d824a5ac further ironing out the underlying math lib / SIMD intrinsics (theoretically now if -march=native binaries are shipped they shouldn't crash through multi-versioning) 2025-09-04 19:39:22 -05:00
c87eac5e05 bigly refractors vector/quaternion/matrix all around (and beginning to ensure SIMD optimizations for physics) 2025-09-04 00:46:01 -05:00
593bdc93cd physics optimizations (lots...) 2025-09-02 21:51:00 -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
65cf3887b7 finally nailed a memory leak because past me made assumptions RP3D cleared the triangle parts on body destruction per the documentation (although I still crash after a while on the DC build from fragmentation at 9MiB consumed......), crammed filetype preference to resolveURI since everything should be using that anyways, some other cruft I forget trying to nail down this memory leak 2025-08-24 20:47:32 -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
9f23e22eb3 more clang asan checks (and getting it to compile on MSYS2/clang) 2025-08-23 18:21:50 -05:00
mrq
044839bb81 bug hunting through address sanitizer (at least for opengl) 2025-08-23 15:58:38 -05:00
mrq
8ccf468c2a fixes from the slop 2025-08-23 11:36:36 -05:00
c5f0ec69b2 crammed linux support and spent several hours trying to hunt down static initialization demons just for my .so lib to be made wrong 2025-08-23 01:50:57 -05:00
0fb2e3b750 removed storing model/prev-model matricies and color for every instance entry (by adding another indirection via objectID...), fixed rt pipeline because the BLAS's weren't being generated 2025-08-21 22:54:49 -05:00
a099c562a2 remove the weird redundancy of having drawcommands + instances + primitives (which store draw commands and instances) (although i should probably do the opposite to not tie instances to draw commands) 2025-08-21 18:25:29 -05:00
9f2f51c644 before overhauling the graph system to not depend on pod::Graph 2025-08-20 22:13:23 -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
81a3125fcd fixed graph buffers not getting updated (for opengl, vulkan still crashes...) 2025-08-19 23:36:48 -05:00
114bed0d5d pre-emptive opengl fixes (it at least works fully which is mostly what I care about) 2025-08-19 19:33:57 -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