Commit Graph

189 Commits

Author SHA1 Message Date
Jarrod Doyle 796b570347
Update 0 brightness light warning 2025-02-23 09:29:40 +00:00
Jarrod Doyle 21425d8cd3
Disable buffered log writes
Logs were getting cut off due to the buffering. Could likely be solved using SerilogSinksAsync, but this works for now.
2025-02-23 09:26:16 +00:00
Jarrod Doyle 1c2210dbab
Update version to 0.6.0 2025-02-22 20:45:32 +00:00
Jarrod Doyle d4761ca682
Update overlit warning 2025-02-22 20:41:06 +00:00
Jarrod Doyle fbc24b855a
Warn about lights outside of the world 2025-02-22 20:38:38 +00:00
Jarrod Doyle 1c869bb123
Remove debug cell lighting log 2025-02-22 20:32:00 +00:00
Jarrod Doyle 170ec83fb1
Early out on light vis max range 2025-02-22 20:28:28 +00:00
Jarrod Doyle 18abe30b03
Calculate exact light to cell visibility by default
The old UsePvs flag has been renamed to FastPVS. The old default behaviour of not using any visibility culling has been removed, and the default is now an exact shrinking frustum algorithm.
2025-02-22 19:38:38 +00:00
Jarrod Doyle e78e53ff51
Remove door blocking cell portal polys from casting mesh 2025-02-21 17:29:46 +00:00
Jarrod Doyle cab85f3ea1
Remove debug setting prints 2025-02-21 17:24:49 +00:00
Jarrod Doyle bd3178398c
Warn about 0 brightness lights 2025-02-21 17:24:13 +00:00
Jarrod Doyle b0ceb0f845
Close #16: Apply LmParams saturation 2025-02-21 16:53:57 +00:00
Jarrod Doyle f4d5dcbd5a
Apply LmParams attenuation 2025-02-16 11:44:02 +00:00
Jarrod Doyle 4827ffb76b
Extract light configuration validation to method and add check for aggressive inner radius usage 2025-02-02 08:42:22 +00:00
Jarrod Doyle fafae43c56
Don't try and compute visibility for lights outside of the world 2025-01-28 17:49:52 +00:00
Jarrod Doyle db0b1f9c7a
Pre-compute cell visibility in parallel 2025-01-28 17:35:52 +00:00
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