ad360a351dwhen load times regress (more fixes related to opengl, to-do actually make interleaving + streaming work)
master
ecker2026-07-04 23:20:09 -0500
fa5f421140more opengl related fixes (like proper instancing), disabled signaling a command buffer rebuild on graphic.updateMesh (to-do: properly handle this strictly for immediate-mode debug draw, or just do some lambda memery)ecker2026-07-02 19:22:07 -0500
a2636e834copengl related fixes that almost are done (some props aren't rendering because of alpha shitcannery)ecker2026-06-28 19:56:55 -0500
c3e337bb87finalized VR rendermode, rendertarget handles the camera for where it should render at (defaults to 3 units in front of camera), fixed flat GUI not clicking/hovering when in VR because of mismatched viewport sizes, fixed validation error regressionsecker2026-06-23 21:51:01 -0500
a98298b668repaired VR support (to-do: make the VR rendermode work)ecker2026-06-22 22:04:18 -0500
e0fbed4a14more fixes (chasing down demons because of forgetting to support BGR888......), theoretical HDR image saving/loading and animated textures (to-do: actually animate them)ecker2026-06-20 23:10:53 -0500
def459e72cadded 3D skybox rendering (to-do: fix some quirks), fixing lighting issues (to-do: fix tangents or normal maps or something i dont know)ecker2026-06-20 00:24:33 -0500
aa2740979coverhauled saving/loading graphs, made joints global IDs, fixed some quirk with subsequent graphs loading, fixed quirks with async graph loading, some other thingsecker2026-06-18 20:42:39 -0500
941ad2ead9fixing issues related to asynchronous asset loading (disabled for now because there's an inconsistent vulkan-related crash that I'd like to fix)ecker2026-06-17 22:49:13 -0500
2944335904refractored player behavior into not-monolithic code, better player handling, stair stepping going up and down, lua serialization/deserialization should be more optimal by virtue of not stringifyingecker2026-06-16 21:41:18 -0500
a834adca13audio effects via gaytracing, fixed IO connectivity of triggers, fixed linear doors not dooringecker2026-06-16 00:26:52 -0500
de5fc31ff5refractored audio system into audiosource and audioclipecker2026-06-15 21:23:07 -0500
d5f374350ecubemap handling from vbsp parser (eventually to be used for PBR irradiance or whatever i guess)ecker2026-06-13 23:53:05 -0500
7034da71demanaged to fix the disgusting icky input lag at specific frametimes (because the swapchain was rendering to the wrong frame for presentation), attempting to fix a regression with shadowmaps being ickyecker2026-06-12 22:28:35 -0500
8aee000b05fix non-msaa because of cringeecker2026-06-11 22:43:06 -0500
02d98c1176more neurotic changes, triangle IDs are dispatched in collision events, proper footstep sounds (to-do: make use of the physics material), Lua script can handle footsteps too (probably shouldn't because Lua invocations are kinda slow on dreamcast last I checked due to lack of LuaJIT), some other things I forgot alreadyecker2026-06-11 22:24:16 -0500
595e986903did not plan on actually implementing tr_polys with forward+ (it didn't even solve the issue of incadescent light panels not working right because they're baked into worldspawn)ecker2026-06-11 00:08:31 -0500
590eee0684even more SFINAE abuse shoving the hasher into unordered_map (and somewhere along the line scene loading is quicker because of things)ecker2026-06-10 21:15:45 -0500
334b897e19fixed the issues with uf::hashed_string keys for hook system (because of a lot of annoying things)ecker2026-06-10 20:37:42 -0500
5931a5dc6freverted hook hashes because all non-entity hook dispatches breaks, dilate texture atlases if padding is requested, proper mipmapping in deferred shader, some other code cleanup, parse mass from MDL, load error model as fallbackecker2026-06-09 23:24:05 -0500
f9d7cf2dc8microoptimization of having hook system keyed to hashes rather than strings directly (and hash hook names containing '%UID%' with that entity's UID rather than replace the string)ecker2026-06-09 19:54:24 -0500
0fdba55927schizofixes before converting hooks to hashes finallyecker2026-06-08 23:24:16 -0500
9e823645a4several agonizing hours of dealing with more GCC v13 gremlins involving calculating tangentsecker2026-06-07 23:53:41 -0500
6ae24419e7more bug fixes (fixed that weird instancing bug where things get rendered at origin because of instanced graphics also rendering, mdl fixes, fixed lightmaps with displacements, fixed trigger physics bodies)ecker2026-06-07 17:04:03 -0500
e4ad164203odd bug fixes involving entities that load more than one lua script (nasty hack), issue with audio not streaming from non-disk VFSs, more valve compliance (doors, IO connectivity, ambience_generic)ecker2026-06-07 00:59:19 -0500
22fb850709more engine cleanup and fixes (removed the footgun of texture2Ds/instanceAddresses, parse VMT values into material information, re-parent nodes for BSP loader, hopefully final VFS integration fixes)ecker2026-06-06 15:36:36 -0500
98ec4933dainsanity (added VFS, piped everything through it and made it work, 90% done with valve loaders)ecker2026-06-06 00:10:29 -0500
06e88cbf17cleanup (strictly de-interleaved meshes, cleaned up atlas packing and xatlas unwrapping, dropped mesh attribute ID since it's not necessary with draw command/instance indirectin)ecker2026-06-04 19:56:45 -0500
46c08b0516lots of things (cleaned up how graph storage works, fixed bugs related to loading from gtlf rather than a graph, fixed lightmap baker, use RGBExp32 format for lightmaps, some other things, in-progress BSP/VTF/MDL loader)ecker2026-06-03 22:55:14 -0500
f8da959ffdlots of old code cleanup (camera, image, glyph, atlas, etc.), reintroduced un-staged buffers (to test if this solved the immediate mode jitter but it was the camera)ecker2026-05-31 19:34:20 -0500
90758175carender entity information, properly handle when there's no lines/strings to render (as it would never update the buffers to say theres nothing to draw), skip resolving manifold contacts if a body is a trigger (idle thought told me that i needed to do this before i bother with triggers)ecker2026-05-30 23:07:44 -0500
4f03712001mucho texto (hunted down a weird GCC v13 bug that required uf::transform::apply to be inlined, working clang again, more attempts to fix ragdolls, made GUI text much more optimal, debug draw text, a bunch of other things)ecker2026-05-30 21:48:28 -0500
e434f33092tie joint matrices to ragdoll jointsecker2026-05-27 23:06:07 -0500
5402aff2a8imagine 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)ecker2026-05-27 20:54:51 -0500
94ce7be618even more inane code cleanup, migrated immediate mode debug draw into its own file, added transform flattening pre/post physics step (for two reasons)ecker2026-05-26 22:08:16 -0500
0a92fed14aattempt at generating a ragdoll from a skinned mesh (doesn't work right now), fixed normal mappingecker2026-05-24 22:23:41 -0500
3a2dfb0833retrieval of collision eventsecker2026-05-23 15:34:36 -0500
eec75781baan almost perfect ragdoll (has issues when you grab it)ecker2026-05-22 22:02:13 -0500
6deb8795c5even more inane code cleanup, more lua bindings, multiple bodies for an entity (doesn't work?), ragdoll (doesn't work)ecker2026-05-22 20:19:28 -0500
40157df205even more inane cleanup, and even more constraintsecker2026-05-22 00:02:37 -0500
7bd4b00514NGS position solver fixed because of a pesky minus signecker2026-05-20 22:32:34 -0500
9097aebc92lots of physics cleanup and fixes (split-impulse performs better than a NGS position correction somehow?)ecker2026-05-20 20:59:47 -0500
098281ad81removed PGS solver since it is the iterative impulse solver, fixed returning problem of boxes sinking, some other thingsecker2026-05-20 15:02:29 -0500
437df59459more cleanup (physics seem to /almost/ work without issues)ecker2026-05-19 22:25:22 -0500
f054874fedgenerate proper-ish contacts for triangleAabb/triangleObb, code cleanupecker2026-05-19 15:01:38 -0500
a1f62ef0c3added forward+ rendermode, added debug draw for physics system (revealed my meshAabb/neshObb ocntact points were wrong)ecker2026-05-18 21:11:42 -0500
6b07173804added OBB colliders, painfully trying to resolve issues with rotating bodiesecker2026-05-16 23:19:49 -0500
142f584684fixed odd regression where door collision broke (and trying to fix the weird flickering with using the aliased camera UBO for the deferred pass)ecker2026-05-15 20:37:10 -0500
07f2a7d17bunneeded now (and this somehow caused vxgi to double-light up the voxels from constantly re-recording)ecker2026-05-15 14:30:50 -0500
f132f5d6d2refractored descriptor sets to properly handle multiple sets for a given shaderecker2026-05-15 14:18:50 -0500
e35806bb04painfully diagnosed a performance hit with vxgi from one line being commented out (and a bug from eyepos being wrong)ecker2026-05-14 22:00:17 -0500
2afcacc9e1fixed BARYCENTRIC_CALCULATE because it was actually stemming from not using the actual camera UBO used to render the scene (even though nsight showed the values matching so who knows)ecker2026-05-13 23:43:21 -0500
dc192064b1fixed 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' issueecker2026-05-13 22:34:30 -0500
b3df72bfabvalidation 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 thingsecker2026-05-13 22:14:46 -0500
226f1fb77evxgi fixed (because of a typo)ecker2026-05-12 09:59:49 -0500
2475605941VK_KHR_multiview support (but it broke VXGI)ecker2026-05-11 20:56:16 -0500
c62240641asegregated descriptor set from pipeline (prerequisite for global/shared pipelines)ecker2026-05-09 20:55:22 -0500
5f5bc08068proper descriptor pooling (prerequisite for properly segregating pipelines as shareable and descriptor sets as not)ecker2026-05-09 14:02:15 -0500
a10ed8bc60alleged optimizations to vxgi (maybe), fixed crash with enabling shadowmapped lights (but they're broken still for some reason)ecker2026-05-08 21:09:22 -0500
682dd2c794vxgi optimizations (to-do: fix the stuttering again from the UBO lagging or something)ecker2026-05-06 20:47:54 -0500
ec2122ab12sanity fixes for gltf conversion (and LOD generation), (mostly) repaired streaming in mesh data (barycentric-deferred rendering would desync because of separated indirection buffers), streamed in mesh data picks the correct LOD (mostly working), squashed hidden bug where meshes were constantly destroying/creating the physics mesh and updating buffersecker2026-05-05 19:48:18 -0500
a145bae065updates 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 modeecker2026-05-05 14:54:34 -0500
f0d552c47bthe other thing I was working on (main thread metrics)ecker2026-05-04 21:49:29 -0500
89ca3efb3erewrote 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)ecker2026-05-04 21:14:04 -0500
2a72cb42d8more 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)ecker2026-05-02 21:32:27 -0500
4344323f13further segregation and reorganization of physics system filesecker2026-05-01 14:54:09 -0500
60527c4e6bmore 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)ecker2026-04-30 22:44:32 -0500
9c25bf9a9aadded convex hull colliders (mesh colliders with fundamental differences), also fixed mesh v mesh because of some dumb assumption that the BVH was in worldspaceecker2026-04-29 23:19:54 -0500
b523878912revamped makefiles, overhauled memory pool allocator (instantiator works without memory pooling as a byproduct)ecker2026-04-29 19:04:49 -0500
3965d3f719cleaned up GUI system ((re)added simple anchoring system, although I need to actually utilize it), fixed SDFs looking like shitecker2026-04-28 22:56:10 -0500
84f2b63a8frevamped meshopt-based mesh optimizations, fixed mesh slicer/gridder, added LOD system (i think it works), physics tweaks (to-do: make meshMesh viable)ecker2026-04-27 17:09:26 -0500
6d05ab865aneurotic optimizations (overhauled depth pyramid and bloom to ffx-sdp), more fixesecker2026-04-21 20:49:47 -0500
fd9036ee39repaired occlusion culling via depth pyramidsecker2026-04-20 23:40:55 -0500
42aaf444fflots of changes (physics tweaks, actually use dynamic buffers for UBOs, perf bottleneck fixed, bug fixes, etc)ecker2026-04-20 17:33:22 -0500
012cddd37fmore fixes before I lose my mind again (something something making VXGI look actually nice, correctness, fixing graphs, etc etc)ecker2026-02-21 21:26:37 -0600
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......)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