|
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 |
|
|
044839bb81
|
bug hunting through address sanitizer (at least for opengl)
|
2025-08-23 15:58:38 -05:00 |
|
|
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 |
|
|
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 |
|
|
e796fee762
|
more dependency cleanup / updating
|
2025-08-18 20:55:44 -05:00 |
|
|
8298fcec2d
|
more cleanup, crammed DC texconv into here for later use
|
2025-08-18 20:47:25 -05:00 |
|
|
ba9f5c8323
|
some 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 env
|
2025-08-17 23:13:29 -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 |
|
|
0a299a3fd2
|
removing unused dependencies, noted quirks with Dreamcast compilation
|
2025-08-17 17:53:10 -05:00 |
|
|
f7fba27753
|
fixed OpenGL crash + Dreamcast oddities (past me did in fact realize that userdata never called destructors and handled it for opengl pseudo-command buffers)
|
2025-08-16 15:56:41 -05:00 |
|
|
62bc086659
|
also updated nlohmann/json to latest
|
2025-08-16 12:20:38 -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 |
|
|
9858cf9800
|
for opengl, have uniform colors bind to a draw command via pointer like an actual shader uniform (and also have it prioritize vertex colors instead)
|
2025-08-16 00:46:00 -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 |
|
|
b10ee9975a
|
updated 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 collider
|
2025-08-15 01:00:56 -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 |
|
|
9ec35a26e6
|
added texture/animation streaming (to-do: fix textures for OpenGL), serendipitously fixed animations when loading from a graph
|
2025-08-14 19:09:58 -05:00 |
|
|
eadf732ee5
|
more agony (oversight fixes and dreamcast build works again (although it doesn't resolve my outstanding issues of too large of a scene mesh......))
|
2025-08-13 22:12:38 -05:00 |
|
|
bc406d5b62
|
agony (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)
|
2025-08-13 19:46:05 -05:00 |
|
|
a9b5a03f94
|
shuffled 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)
|
2025-08-11 21:14:30 -05:00 |
|
|
cf9a4c9a9d
|
some more cleanup, use march=native + lto for dev (non-release), only do mesh quantization when available (when using my GLdc fork), removed unused headers
|
2025-08-10 20:29:40 -05:00 |
|
|
add0b88248
|
re-added libext.dll being compiled separately (to serve as a way to segregate non-engine into here)
|
2025-08-10 19:07:57 -05:00 |
|