Test aggressive object culling

This commit is contained in:
2022-06-17 20:14:47 +01:00
parent f365f18ee8
commit 261bb0bb6b
11 changed files with 38 additions and 16 deletions
+4 -5
View File
@@ -17,12 +17,11 @@ lightsForGloom cfig w = mapMaybe getLS (IM.elems $ _lightSources w)
cbox = cullBox cfig w
cpos = _cameraCenter w
getlsparam ls
| not (pointInPolygon lpos cbox)
&& isNothing (intersectSegPolyFirst lpos (lpos +.+ rad *.* (normalizeV (cpos -.- lpos))) cbox)
= Nothing
-- | dist (_cameraCenter w) (fst2 $ _lsPos ls) > _viewDistance w + _lsRad ls = Nothing
| not (pointInPolygon lpos cbox) && extraculltest = Nothing
| otherwise = Just ( _lsPos ls, rad^(2::Int) , _lsCol ls)
where
lpos = xyV3 $ _lsPos ls
rad = _lsRad ls
fst2 (V3 a b _) = V2 a b
extraculltest
| _debug_cull_more_lights cfig = True
| otherwise = isNothing (intersectSegPolyFirst lpos (lpos +.+ rad *.* (normalizeV (cpos -.- lpos))) cbox)