Commit Graph

  • ad360a351d when load times regress (more fixes related to opengl, to-do actually make interleaving + streaming work) master ecker 2026-07-04 23:20:09 -0500
  • fa5f421140 more 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) ecker 2026-07-02 19:22:07 -0500
  • 65a08839f9 more fixes ecker 2026-06-30 21:21:43 -0500
  • a2636e834c opengl related fixes that almost are done (some props aren't rendering because of alpha shitcannery) ecker 2026-06-28 19:56:55 -0500
  • c3e337bb87 finalized 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 regressions ecker 2026-06-23 21:51:01 -0500
  • a98298b668 repaired VR support (to-do: make the VR rendermode work) ecker 2026-06-22 22:04:18 -0500
  • e0fbed4a14 more fixes (chasing down demons because of forgetting to support BGR888......), theoretical HDR image saving/loading and animated textures (to-do: actually animate them) ecker 2026-06-20 23:10:53 -0500
  • def459e72c added 3D skybox rendering (to-do: fix some quirks), fixing lighting issues (to-do: fix tangents or normal maps or something i dont know) ecker 2026-06-20 00:24:33 -0500
  • aa2740979c overhauled saving/loading graphs, made joints global IDs, fixed some quirk with subsequent graphs loading, fixed quirks with async graph loading, some other things ecker 2026-06-18 20:42:39 -0500
  • 941ad2ead9 fixing issues related to asynchronous asset loading (disabled for now because there's an inconsistent vulkan-related crash that I'd like to fix) ecker 2026-06-17 22:49:13 -0500
  • 2944335904 refractored 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 stringifying ecker 2026-06-16 21:41:18 -0500
  • a834adca13 audio effects via gaytracing, fixed IO connectivity of triggers, fixed linear doors not dooring ecker 2026-06-16 00:26:52 -0500
  • de5fc31ff5 refractored audio system into audiosource and audioclip ecker 2026-06-15 21:23:07 -0500
  • d5f374350e cubemap handling from vbsp parser (eventually to be used for PBR irradiance or whatever i guess) ecker 2026-06-13 23:53:05 -0500
  • 7034da71de managed 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 icky ecker 2026-06-12 22:28:35 -0500
  • 8aee000b05 fix non-msaa because of cringe ecker 2026-06-11 22:43:06 -0500
  • 02d98c1176 more 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 already ecker 2026-06-11 22:24:16 -0500
  • 595e986903 did 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) ecker 2026-06-11 00:08:31 -0500
  • 590eee0684 even more SFINAE abuse shoving the hasher into unordered_map (and somewhere along the line scene loading is quicker because of things) ecker 2026-06-10 21:15:45 -0500
  • 334b897e19 fixed the issues with uf::hashed_string keys for hook system (because of a lot of annoying things) ecker 2026-06-10 20:37:42 -0500
  • 5931a5dc6f reverted 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 fallback ecker 2026-06-09 23:24:05 -0500
  • f9d7cf2dc8 microoptimization 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) ecker 2026-06-09 19:54:24 -0500
  • 0fdba55927 schizofixes before converting hooks to hashes finally ecker 2026-06-08 23:24:16 -0500
  • 9e823645a4 several agonizing hours of dealing with more GCC v13 gremlins involving calculating tangents ecker 2026-06-07 23:53:41 -0500
  • 6ae24419e7 more 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) ecker 2026-06-07 17:04:03 -0500
  • e4ad164203 odd 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) ecker 2026-06-07 00:59:19 -0500
  • 22fb850709 more 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) ecker 2026-06-06 15:36:36 -0500
  • 98ec4933da insanity (added VFS, piped everything through it and made it work, 90% done with valve loaders) ecker 2026-06-06 00:10:29 -0500
  • 06e88cbf17 cleanup (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) ecker 2026-06-04 19:56:45 -0500
  • 46c08b0516 lots 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) ecker 2026-06-03 22:55:14 -0500
  • f8da959ffd lots 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) ecker 2026-05-31 19:34:20 -0500
  • a6875adf13 better billboarding ecker 2026-05-31 01:16:48 -0500
  • 90758175ca render 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) ecker 2026-05-30 23:07:44 -0500
  • 4f03712001 mucho 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) ecker 2026-05-30 21:48:28 -0500
  • 78171039a1 guh ecker 2026-05-28 21:54:02 -0500
  • e434f33092 tie joint matrices to ragdoll joints ecker 2026-05-27 23:06:07 -0500
  • 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) ecker 2026-05-27 20:54:51 -0500
  • 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) ecker 2026-05-26 22:08:16 -0500
  • 0a92fed14a attempt at generating a ragdoll from a skinned mesh (doesn't work right now), fixed normal mapping ecker 2026-05-24 22:23:41 -0500
  • 3a2dfb0833 retrieval of collision events ecker 2026-05-23 15:34:36 -0500
  • 52b972167a body_medium_impact_hard6.wav (ragdoll works) ecker 2026-05-22 22:23:42 -0500
  • eec75781ba an almost perfect ragdoll (has issues when you grab it) ecker 2026-05-22 22:02:13 -0500
  • 6deb8795c5 even more inane code cleanup, more lua bindings, multiple bodies for an entity (doesn't work?), ragdoll (doesn't work) ecker 2026-05-22 20:19:28 -0500
  • 40157df205 even more inane cleanup, and even more constraints ecker 2026-05-22 00:02:37 -0500
  • 7758389c6c more neurotic code cleanup, added joint constraints ecker 2026-05-21 20:42:54 -0500
  • 7bd4b00514 NGS position solver fixed because of a pesky minus sign ecker 2026-05-20 22:32:34 -0500
  • 9097aebc92 lots of physics cleanup and fixes (split-impulse performs better than a NGS position correction somehow?) ecker 2026-05-20 20:59:47 -0500
  • 098281ad81 removed PGS solver since it is the iterative impulse solver, fixed returning problem of boxes sinking, some other things ecker 2026-05-20 15:02:29 -0500
  • a8ad6d0fe4 typo ecker 2026-05-19 22:25:44 -0500
  • 437df59459 more cleanup (physics seem to /almost/ work without issues) ecker 2026-05-19 22:25:22 -0500
  • f054874fed generate proper-ish contacts for triangleAabb/triangleObb, code cleanup ecker 2026-05-19 15:01:38 -0500
  • a1f62ef0c3 added forward+ rendermode, added debug draw for physics system (revealed my meshAabb/neshObb ocntact points were wrong) ecker 2026-05-18 21:11:42 -0500
  • 6b07173804 added OBB colliders, painfully trying to resolve issues with rotating bodies ecker 2026-05-16 23:19:49 -0500
  • 142f584684 fixed odd regression where door collision broke (and trying to fix the weird flickering with using the aliased camera UBO for the deferred pass) ecker 2026-05-15 20:37:10 -0500
  • 07f2a7d17b unneeded now (and this somehow caused vxgi to double-light up the voxels from constantly re-recording) ecker 2026-05-15 14:30:50 -0500
  • f132f5d6d2 refractored descriptor sets to properly handle multiple sets for a given shader ecker 2026-05-15 14:18:50 -0500
  • e35806bb04 painfully diagnosed a performance hit with vxgi from one line being commented out (and a bug from eyepos being wrong) ecker 2026-05-14 22:00:17 -0500
  • 2afcacc9e1 fixed 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) ecker 2026-05-13 23:43:21 -0500
  • 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 ecker 2026-05-13 22:34:30 -0500
  • 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 ecker 2026-05-13 22:14:46 -0500
  • 226f1fb77e vxgi fixed (because of a typo) ecker 2026-05-12 09:59:49 -0500
  • 2475605941 VK_KHR_multiview support (but it broke VXGI) ecker 2026-05-11 20:56:16 -0500
  • 2e018962ee fixed shadowmaps ecker 2026-05-11 16:41:57 -0500
  • c62240641a segregated descriptor set from pipeline (prerequisite for global/shared pipelines) ecker 2026-05-09 20:55:22 -0500
  • 5f5bc08068 proper descriptor pooling (prerequisite for properly segregating pipelines as shareable and descriptor sets as not) ecker 2026-05-09 14:02:15 -0500
  • a10ed8bc60 alleged optimizations to vxgi (maybe), fixed crash with enabling shadowmapped lights (but they're broken still for some reason) ecker 2026-05-08 21:09:22 -0500
  • 682dd2c794 vxgi optimizations (to-do: fix the stuttering again from the UBO lagging or something) ecker 2026-05-06 20:47:54 -0500
  • ec2122ab12 sanity 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 buffers ecker 2026-05-05 19:48:18 -0500
  • 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 ecker 2026-05-05 14:54:34 -0500
  • f0d552c47b the other thing I was working on (main thread metrics) ecker 2026-05-04 21:49:29 -0500
  • 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) ecker 2026-05-04 21:14:04 -0500
  • b37eb0ed62 added per-thread metrics ecker 2026-05-03 00:27:47 -0500
  • 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) ecker 2026-05-02 21:32:27 -0500
  • 4344323f13 further segregation and reorganization of physics system files ecker 2026-05-01 14:54:09 -0500
  • fe10395ce8 organized physics system ecker 2026-05-01 11:51:24 -0500
  • 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) ecker 2026-04-30 22:44:32 -0500
  • 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 ecker 2026-04-29 23:19:54 -0500
  • b523878912 revamped makefiles, overhauled memory pool allocator (instantiator works without memory pooling as a byproduct) ecker 2026-04-29 19:04:49 -0500
  • 3965d3f719 cleaned up GUI system ((re)added simple anchoring system, although I need to actually utilize it), fixed SDFs looking like shit ecker 2026-04-28 22:56:10 -0500
  • 84f2b63a8f revamped meshopt-based mesh optimizations, fixed mesh slicer/gridder, added LOD system (i think it works), physics tweaks (to-do: make meshMesh viable) ecker 2026-04-27 17:09:26 -0500
  • fc36c77167 physics fixes ecker 2026-04-26 20:27:14 -0500
  • 2c3da15a4d fake frames (and cleaning up swapchain code) ecker 2026-04-25 00:37:19 -0500
  • 8803034a60 added frame-gen via FFX-SDK (naively) ecker 2026-04-24 00:18:59 -0500
  • a6c74572c6 a shoddy depth-of-field effect, repaired FFX-FSR integration (and upgraded to FFX-FSR3.1 upscale) ecker 2026-04-22 22:37:37 -0500
  • 6d05ab865a neurotic optimizations (overhauled depth pyramid and bloom to ffx-sdp), more fixes ecker 2026-04-21 20:49:47 -0500
  • fd9036ee39 repaired occlusion culling via depth pyramids ecker 2026-04-20 23:40:55 -0500
  • 42aaf444ff lots of changes (physics tweaks, actually use dynamic buffers for UBOs, perf bottleneck fixed, bug fixes, etc) ecker 2026-04-20 17:33:22 -0500
  • 012cddd37f more fixes before I lose my mind again (something something making VXGI look actually nice, correctness, fixing graphs, etc etc) ecker 2026-02-21 21:26:37 -0600
  • de44a6083d fixes ecker 2026-02-16 18:10:36 -0600
  • 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......) ecker 2025-09-22 20:44:00 -0500
  • 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) ecker 2025-09-21 19:30:11 -0500
  • 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) ecker 2025-09-17 12:34:11 -0500
  • 58dee945f8 proper pre-computing of mesh views (with equally horrid code) ecker 2025-09-15 18:05:15 -0500
  • 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) ecker 2025-09-15 17:28:13 -0500
  • 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) ecker 2025-09-15 16:01:05 -0500
  • 7dee5ccd53 lol... ecker 2025-09-15 07:13:26 -0500
  • 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) ecker 2025-09-14 20:37:34 -0500
  • 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...... ecker 2025-09-05 21:25:59 -0500
  • cb36936411 more refinements and optimizations for the physics ecker 2025-09-05 19:08:07 -0500
  • 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...) ecker 2025-09-04 22:22:08 -0500