Commit Graph

173 Commits

Author SHA1 Message Date
Jarrod Doyle b493c447c7
Make Nodes readonly and track Node computation on PVS 2025-01-28 17:35:10 +00:00
Jarrod Doyle 77f69be219
Only compute mightsee for edges of cells with lights in 2025-01-28 17:33:25 +00:00
Jarrod Doyle 3040914afb
Precalculate edge list capacity 2025-01-28 17:23:08 +00:00
Jarrod Doyle 1f0b87f3de
Set correct length on edge MightSee arrays 2025-01-28 16:57:16 +00:00
Jarrod Doyle ec9c20423d
Use BitArray for MightSee 2025-01-27 19:25:51 +00:00
Jarrod Doyle f12e723056
Early outs for portals fully behind target/source 2025-01-27 18:58:41 +00:00
Jarrod Doyle e93efb91f2
Early out of valid portal checks if destination is already marked as mightsee 2025-01-27 18:09:46 +00:00
Jarrod Doyle 13929e44a6
Change MightSee to a bool array 2025-01-27 18:09:11 +00:00
Jarrod Doyle 54655254b9
Use faster plane distance calculation 2025-01-27 18:07:59 +00:00
Jarrod Doyle e48393b856
Update version to 0.5.0 2025-01-26 18:16:08 +00:00
Jarrod Doyle 65c248de84
Add PVS flag 2025-01-26 17:54:09 +00:00
Jarrod Doyle 392c7b24b5
Add custom TinyEmbree package with backface culling 2025-01-26 17:27:31 +00:00
Jarrod Doyle 8ae23eafb6
Reverse mesh poly winding order 2025-01-26 17:20:46 +00:00
Jarrod Doyle 007b4f8f1c
Mark object polys as Object surface type 2025-01-26 12:57:17 +00:00
Jarrod Doyle cae43f12ad
Fix shadow acne on super shallow lighting angles 2025-01-26 12:55:20 +00:00
Jarrod Doyle c28626bf20
Rewrite occlusion checks to use different scenes where relevant 2025-01-26 12:35:35 +00:00
Jarrod Doyle 223aee980e
Slight GetTracePoints refactor 2025-01-26 12:33:01 +00:00
Jarrod Doyle 3f6ed89667
Build two scenes, one with objects and one without 2025-01-26 12:26:27 +00:00
Jarrod Doyle 62f2886eb4
Make ComputeEdgeMightSee iterative 2025-01-20 18:48:57 +00:00
Jarrod Doyle c97cf31ccb
Use foreach for edge might see loop 2025-01-20 18:30:50 +00:00
Jarrod Doyle b0e4c8dff3
Semi-fast coarse PVS 2025-01-20 18:10:07 +00:00
Jarrod Doyle 6a7ee922b5
Fall back to a cast if clipping point to poly gives us something sucky 2025-01-15 22:16:52 +00:00
Jarrod Doyle 477eb692c5
Update to version 0.4.1 2025-01-15 21:33:47 +00:00
Jarrod Doyle 6b96f33132
Update version 2025-01-15 20:56:48 +00:00
Jarrod Doyle a5078b0f2b
Use occlusion rays for non-sun tracing
More performant, no longer requires annoying fiddling to check distances, and removes the need for water surfaces in the mesh. Also reduces the number of edge case misses
2025-01-15 20:26:23 +00:00
Jarrod Doyle 4b3016d895
Combine plane facing and initial radius checks 2025-01-14 21:16:25 +00:00
Jarrod Doyle df8cb6f1ca
Fix logging null when failing to find object model 2025-01-14 20:54:21 +00:00
Jarrod Doyle 8682942102
Enable AoT in csproj rather than in CI 2025-01-14 20:32:35 +00:00
Jarrod Doyle be95907352
Only use OD quad lighting when ShadowSoftness is Standard 2025-01-14 20:23:42 +00:00
Jarrod Doyle d7f6bfa0c3
Use larger epsilon for ray traces 2025-01-14 20:22:47 +00:00
Jarrod Doyle 74b175648b
Fix incorrect offset on 4 point softness modes 2025-01-14 19:24:25 +00:00
Jarrod Doyle 9bf80b1b5f
Additional logging around initialisation 2025-01-13 19:11:06 +00:00
Jarrod Doyle 224d79e1df
Buffer log file writes 2025-01-11 21:38:36 +00:00
Jarrod Doyle cb7cff80bf
Upgrade TinyEmbree 2025-01-11 21:35:43 +00:00
Jarrod Doyle 347f20b609
Upgrade projects to .net 9.0 2025-01-11 21:32:09 +00:00
Jarrod Doyle 5beba9f9f4
Handle dynamic lights correctly 2025-01-11 17:57:52 +00:00
Jarrod Doyle a0790f50bd
Fix performance regression. Discard Lights with 0 brightness 2025-01-11 17:17:12 +00:00
Jarrod Doyle 2ecf17400e
Replace console writes with logging 2025-01-11 13:16:31 +00:00
Jarrod Doyle 19aefb6ac5
Add Serilog and configure logger 2025-01-11 12:32:13 +00:00
Jarrod Doyle b8c16a1ffc
Reduce allocations 2025-01-06 21:26:24 +00:00
Jarrod Doyle 9c371b0d6f
PVS now works it's just slow as fuck 2025-01-06 20:50:35 +00:00
Jarrod Doyle 317b17ab02
Only cast to lights in the cell light list 2025-01-04 23:30:32 +00:00
Jarrod Doyle c37739b029
Make use of the PVS to reduce light casts 2025-01-04 23:08:18 +00:00
Jarrod Doyle ceb86c0a97
Simplify edge definition 2025-01-04 21:17:53 +00:00
Jarrod Doyle 74283f976d
Always create a new edge to the portal graph 2025-01-04 21:12:54 +00:00
Jarrod Doyle c5cbeddcd5
Fix incorrect classification of front/back 2025-01-04 21:04:23 +00:00
Jarrod Doyle 74228a2851
Fix incorrect loop back logic in recursive section 2025-01-04 21:03:57 +00:00
Jarrod Doyle f0cec24cf6
Initial PVS calculation 2025-01-04 20:22:36 +00:00
Jarrod Doyle 54c8176302
Set SpotlightInnerAngle to -1 on non-spotlights
It's a bit odd but it matches what DromEd does
2024-12-26 21:39:29 +00:00
Jarrod Doyle 8b84e5ce3a
Fix incorrect coloured lights 2024-12-26 21:15:53 +00:00