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