Commit Graph

48 Commits

Author SHA1 Message Date
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 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 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 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 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 2e1c90b88a
Close #10: Apply ambient light zones 2024-12-26 17:12:28 +00:00
Jarrod Doyle 42daa8a048
Apply AnimlightCutoff 2024-12-26 14:04:47 +00:00
Jarrod Doyle 196f739afd
Add anim light cutoff to lighting settings 2024-12-26 14:03:52 +00:00
Jarrod Doyle bf602a6964
Use anim light max brightness for light brightness 2024-12-26 14:03:24 +00:00
Jarrod Doyle 2cc5ab44b7
Set SpotAmb spotlight brightness 2024-12-26 14:02:01 +00:00
Jarrod Doyle a5571c9f76
Fix spotlight direction on models with only a light pos vhot 2024-12-26 13:23:07 +00:00
Jarrod Doyle 65dda0194d
Fix #1 #2: Rewrite light gathering
It's now much neater, has support for SpotlightAndAmbient, and uses proper vhot hierarchy transforms
2024-12-23 18:01:33 +00:00
Jarrod Doyle 8191d30b20
Update dromed lighting mode to objcast 2024-12-11 17:43:47 +00:00
Jarrod Doyle fc91970c45
Apply brush rotation to base spotlight direction 2024-12-10 19:51:08 +00:00
Jarrod Doyle 9fd33efeed
Add debug stats 2024-12-09 20:49:00 +00:00
Jarrod Doyle ed1b95af35
Properly apply rotation to light offsets 2024-12-09 20:22:49 +00:00
Jarrod Doyle 16dddcb497
Only add sunlight index to cells if sunlight is enabled 2024-12-09 19:03:20 +00:00
Jarrod Doyle df9b21de46
Close #7: Log when too many lights reach cell 2024-12-09 18:40:04 +00:00
Jarrod Doyle 518f387c43
Close #6: Don't add 0 brightness static lights 2024-12-09 18:32:32 +00:00
Jarrod Doyle 1b962831a0
Normalise sunlight direction 2024-12-09 15:23:47 +00:00
Jarrod Doyle 7693261cd7
Add the sun to every cell's light list 2024-12-09 15:22:43 +00:00
Jarrod Doyle b34131f3b5
Add sunlight casting 2024-12-09 14:35:53 +00:00
Jarrod Doyle c2b69cda46
Swap inner and outer pixel tracing loop 2024-12-09 12:28:52 +00:00
Jarrod Doyle 27f8dab8fe
Refactor tracing to separate ray points 2024-12-09 12:04:32 +00:00
Jarrod Doyle 9daaa3b73b
Improve note about door light blocking 2024-12-09 10:27:32 +00:00
Jarrod Doyle 5538a0e3ea
Include door blocking in the cast mesh 2024-12-09 10:09:13 +00:00
Jarrod Doyle adf61c0f6f
Move more meshing to MeshBuilder 2024-12-09 08:37:46 +00:00
Jarrod Doyle a0b287b9fa
Separate some mesh stuff 2024-12-09 08:19:50 +00:00
Jarrod Doyle 39dbede993
More accurate object casting 2024-12-07 18:47:31 +00:00
Jarrod Doyle 1532a2750c
Almost there object casting 2024-12-07 18:28:39 +00:00
Jarrod Doyle 84c54ce280
Use AABB for a tighter cull of cell light indices 2024-11-29 17:24:03 +00:00
Jarrod Doyle b3a71e6827
Add lightmapped water 2024-11-04 18:39:10 +00:00
Jarrod Doyle 1d96c06032
Add water surfaces to the Embree scene and surface type map 2024-11-04 18:09:39 +00:00
Jarrod Doyle b47a7536c4
Ray traces now continue through any water they hit (unless the water surface is the target) 2024-11-04 18:08:54 +00:00
Jarrod Doyle e6ca952962
Add surface type map 2024-10-30 08:03:26 +00:00
Jarrod Doyle fe100bb938
Change softness mode switch statement to expression 2024-10-29 18:14:44 +00:00
Jarrod Doyle f6bcce9778
Add nine point shadow softness support 2024-10-29 18:13:04 +00:00
Jarrod Doyle 99697180cd
Add support for most of the shadow softness settings 2024-10-29 18:01:50 +00:00
Jarrod Doyle ca017e3f7b
Removed debug print 2024-10-29 07:45:03 +00:00
Jarrod Doyle 0ea00fa109
Refactor to LightMapper class 2024-10-28 20:03:20 +00:00