Commit Graph

194 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 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 0136dc1141
Update CI to use .NET 9 2025-01-12 12:26:14 +00:00
Jarrod Doyle 9f5a90358c
Dynamically grow lightmap layers
This can be a huge memory saving on large maps. For example TPOAIR M2 goes from ~3gb of RAM to ~500mb
2025-01-12 11:49:26 +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
Jarrod Doyle 5aa47d6ea6
Set version 2024-12-26 18:14:55 +00:00
Jarrod Doyle b41d73c0e3
Fix #9: Blocks vision polys always cast shadows 2024-12-26 17:39:24 +00:00
Jarrod Doyle 2e1c90b88a
Close #10: Apply ambient light zones 2024-12-26 17:12:28 +00:00
Jarrod Doyle 40ea7cce0e
Parse per cell fog/ambient zones 2024-12-26 17:10:41 +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 b8a5169b78
Parse anim light cutoff in LmParams 2024-12-26 13:47:30 +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 1b13d92b99
Fix #5: Cull any gamesys links/linkdata with concrete LinkIDs 2024-12-23 19:36:28 +00:00
Jarrod Doyle 045285f82d
Handle model files with too many joints 2024-12-23 18:34:19 +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 010757eb6f
Add light helper functions 2024-12-23 17:57:36 +00:00
Jarrod Doyle bf47578133
Tidy up mesh transform calculation 2024-12-23 17:54:52 +00:00
Jarrod Doyle 0f9467b8c4
Use new model joint application in meshbuilder 2024-12-23 17:51:25 +00:00
Jarrod Doyle a8bdf37097
Add joint transformation to modelfile 2024-12-23 17:46:45 +00:00
Jarrod Doyle 9c71529d8e
Add layer range check on AddLight 2024-12-23 17:42:03 +00:00
Jarrod Doyle e3aac88c17
Add SpotlightAndAmbient parsing 2024-12-23 17:40:50 +00:00
Jarrod Doyle db01667fb2
Fix 3: Apply hierarchical transforms to models 2024-12-23 12:44:37 +00:00
Jarrod Doyle 8191d30b20
Update dromed lighting mode to objcast 2024-12-11 17:43:47 +00:00
Jarrod Doyle 1aac751043
Error if install config doesn't have resname_base 2024-12-11 17:38:30 +00:00