7fe261a36eadded 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......)
master
ecker2025-09-22 20:44:00 -0500
52fa565eb5some 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)ecker2025-09-21 19:30:11 -0500
3ac3022f88this 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)ecker2025-09-17 12:34:11 -0500
16062f8135fixed 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)ecker2025-09-15 17:28:13 -0500
1e548265admore 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)ecker2025-09-15 16:01:05 -0500
8dd83f7f49I 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)ecker2025-09-14 20:37:34 -0500
36612f9ce9fixed 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......ecker2025-09-05 21:25:59 -0500
cb36936411more refinements and optimizations for the physicsecker2025-09-05 19:08:07 -0500
fff258917efixed 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...)ecker2025-09-04 22:22:08 -0500
e1d824a5acfurther ironing out the underlying math lib / SIMD intrinsics (theoretically now if -march=native binaries are shipped they shouldn't crash through multi-versioning)ecker2025-09-04 19:39:22 -0500
c87eac5e05bigly refractors vector/quaternion/matrix all around (and beginning to ensure SIMD optimizations for physics)ecker2025-09-04 00:46:01 -0500
a66f56ad9frefractor 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)ecker2025-09-01 23:16:43 -0500
3b5db2c32cfinally 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)ecker2025-09-01 14:51:46 -0500
461894741fusing a PSG solver is almost stable sans some weird oddities, would love to use a block solver but the current one is flawedecker2025-09-01 00:13:20 -0500
40da94c422wasted 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)ecker2025-08-30 15:52:30 -0500
65cf3887b7finally 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 leakecker2025-08-24 20:47:32 -0500
532c4054b6audio cleanup or something (because it's lagging the dreamcast build when emitting sounds)ecker2025-08-24 11:38:37 -0500
9f23e22eb3more clang asan checks (and getting it to compile on MSYS2/clang)ecker2025-08-23 18:21:50 -0500
044839bb81bug hunting through address sanitizer (at least for opengl)mrq2025-08-23 15:58:38 -0500
8ccf468c2afixes from the slopmrq2025-08-23 11:36:36 -0500
c5f0ec69b2crammed linux support and spent several hours trying to hunt down static initialization demons just for my .so lib to be made wrongecker2025-08-23 01:50:57 -0500
0fb2e3b750removed 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 generatedecker2025-08-21 22:54:49 -0500
a099c562a2remove 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)ecker2025-08-21 18:25:29 -0500
9f2f51c644before overhauling the graph system to not depend on pod::Graphecker2025-08-20 22:13:23 -0500
e5de1491f2skip 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)ecker2025-08-20 15:22:35 -0500
81a3125fcdfixed graph buffers not getting updated (for opengl, vulkan still crashes...)ecker2025-08-19 23:36:48 -0500
114bed0d5dpre-emptive opengl fixes (it at least works fully which is mostly what I care about)ecker2025-08-19 19:33:57 -0500
0a29063869realized 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...)ecker2025-08-19 19:18:12 -0500
6d4837e3ccfixed DC texconv having some weird quad issue by just rebasing from the original file and de-QTing / reconvertingecker2025-08-19 00:30:34 -0500
8298fcec2dmore cleanup, crammed DC texconv into here for later useecker2025-08-18 20:47:25 -0500
ba9f5c8323some fixups for the scene tick loop, try and reuse existing buffers when reading buffers into them to avoid unnecessary allocations, fixed non-safe running a lua script because I didn't pass in the envecker2025-08-17 23:13:29 -0500
c9448f9b74lua optimizations to remove as much overhead as possible (to almost nothing), adjusted how metadata is accessed in lua (it requires explicit pasting of macros)ecker2025-08-17 20:48:20 -0500
0a299a3fd2removing unused dependencies, noted quirks with Dreamcast compilationecker2025-08-17 17:53:10 -0500
f7fba27753fixed OpenGL crash + Dreamcast oddities (past me did in fact realize that userdata never called destructors and handled it for opengl pseudo-command buffers)ecker2025-08-16 15:56:41 -0500
62bc086659also updated nlohmann/json to latestecker2025-08-16 12:20:38 -0500
5f8a80c25fresolved 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)ecker2025-08-16 12:19:55 -0500
9858cf9800for opengl, have uniform colors bind to a draw command via pointer like an actual shader uniform (and also have it prioritize vertex colors instead)ecker2025-08-16 00:46:00 -0500
cb1d9c4dafsome 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)ecker2025-08-16 00:25:06 -0500
b10ee9975aupdated dc rp3d to 0.9.0 (0.10.0 overhauled triangle meshes and I cannot be assed to shove every draw call mesh into a collision body) and that did in fact fix the issue of collision breaking when remaking the mesh colliderecker2025-08-15 01:00:56 -0500
d5e58ccb9bsomehow 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)ecker2025-08-15 00:07:13 -0500
ab9aa0ae13fixed 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)ecker2025-08-14 23:32:08 -0500
9ec35a26e6added texture/animation streaming (to-do: fix textures for OpenGL), serendipitously fixed animations when loading from a graphecker2025-08-14 19:09:58 -0500
eadf732ee5more agony (oversight fixes and dreamcast build works again (although it doesn't resolve my outstanding issues of too large of a scene mesh......))ecker2025-08-13 22:12:38 -0500
bc406d5b62agony (added streaming in mesh data if it's out of range (but for the worldspawn only), re-enabled mesh slicing because I commented it out months ago and didn't remember why, some other things probably in the quest of getting this added)ecker2025-08-13 19:46:05 -0500
a9b5a03f94shuffled code around for when I figure out how I want to stream a partitioned mesh (even though this defeats the purpose of re-implementing the chunk/region system because I do not want to go about splitting each region into its own model-entity-graph-whatever)ecker2025-08-11 21:14:30 -0500
cf9a4c9a9dsome more cleanup, use march=native + lto for dev (non-release), only do mesh quantization when available (when using my GLdc fork), removed unused headersecker2025-08-10 20:29:40 -0500
add0b88248re-added libext.dll being compiled separately (to serve as a way to segregate non-engine into here)ecker2025-08-10 19:07:57 -0500
87ed97408fmigrated (most of) ./ext/ into the core engine (because in reality I don't think it'd be easy to make them optional)ecker2025-08-10 18:58:27 -0500
acfadd5c2dbarebones documentation, commit in case I butcher code migrationecker2025-08-10 18:31:20 -0500
0b40786798properly color a gui element under opengl, some cleanup for dead code that's not neededecker2025-08-09 13:35:04 -0500
2186e41641fixed text rendering in opengl (and the culling issue), use libtremor for dreamcast because vorbis is too taxing on the SH4, fixed uf::io::exists by just trying to open the file instead of stating it, probably some other thingsecker2025-08-05 18:39:56 -0500
aeb648595fdreamcast build compiled and somewhat running (required patching kernel/arch/dreamcast/hardware/cdrom.c), also fixed GUI elements not rendering under openglecker2025-08-04 23:34:37 -0500
c49dfb9b8csome stuff to get the dreamcast build working again (or at least compiling, reading from the CD through KOS in emulators broke so I can't test much)ecker2025-08-04 17:51:43 -0500
4299be4646waveform from vall-e is directly converted to 16-bit pcmecker2025-08-03 19:55:35 -0500
81da764d6badded wav (from file) and PCM (from memory buffer) playback, modified hook to VALL-E TTS to now either directly play the audio or invoke a callback (currently only hooked via sound emitter)ecker2025-08-03 13:45:31 -0500
73ca9bb168crammed in vall_e.cpp support to finally justify creating it (and a bunch of other things)ecker2025-08-02 23:02:49 -0500
85696bd8f6some small vxgi tweaksmrq2025-07-29 15:39:19 -0500
d519af9cc3stabilized voxelization with a bunch of cringemrq2025-07-28 23:31:15 -0500
67f0456352some tweaks or somethingmrq2025-07-26 20:42:32 -0500
a566e07756attempted to fix mouse look being agonizing, fixed doors not rotating because at some point physics state completely overridden local transforms (to-do: expose some interface that will magically handle this mess)mrq2025-05-31 16:14:59 -0500
3aa9a084aefixed gui render mode not working every other scene, due to some very specific circumstancesmrq2025-05-30 22:30:56 -0500
91cf9665fesmall fixes (although gui on next scene transition breaks)mrq2025-05-30 21:32:55 -0500