From 1870c573087d066dcbfd465ad2ecbe1549e071ad Mon Sep 17 00:00:00 2001 From: Robert Beckebans Date: Wed, 5 May 2021 11:51:36 +0200 Subject: [PATCH] Cull envprobes that aren't connected to any visible area --- neo/renderer/OpenGL/RenderDebug_GL.cpp | 9 +++++++++ neo/renderer/tr_frontend_main.cpp | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/neo/renderer/OpenGL/RenderDebug_GL.cpp b/neo/renderer/OpenGL/RenderDebug_GL.cpp index ab1887cd..3a373d2d 100644 --- a/neo/renderer/OpenGL/RenderDebug_GL.cpp +++ b/neo/renderer/OpenGL/RenderDebug_GL.cpp @@ -1840,6 +1840,13 @@ void idRenderBackend::DBG_ShowViewEnvprobes() RenderEnvprobeLocal* vProbe = tr.primaryWorld->envprobeDefs[i]; if( vProbe ) { + // check for being closed off behind a door + if( r_useLightAreaCulling.GetBool() + && vProbe->areaNum != -1 && !viewDef->connectedAreas[ vProbe->areaNum ] ) + { + continue; + } + viewEnvprobes.AddUnique( vProbe ); } } @@ -1897,6 +1904,8 @@ void idRenderBackend::DBG_ShowViewEnvprobes() barycentricWeights.Set( a, b, c ); } + idLib::Printf( "bary weights %.2f %.2f %.2f\n", barycentricWeights.x, barycentricWeights.y, barycentricWeights.z ); + idMat3 axis; axis.Identity(); diff --git a/neo/renderer/tr_frontend_main.cpp b/neo/renderer/tr_frontend_main.cpp index 0b641a20..056b066b 100644 --- a/neo/renderer/tr_frontend_main.cpp +++ b/neo/renderer/tr_frontend_main.cpp @@ -508,6 +508,12 @@ static void R_FindClosestEnvironmentProbes() RenderEnvprobeLocal* vProbe = tr.primaryWorld->envprobeDefs[i]; if( vProbe ) { + // check for being closed off behind a door + if( r_useLightAreaCulling.GetBool() && vProbe->areaNum != -1 && !tr.viewDef->connectedAreas[ vProbe->areaNum ] ) + { + continue; + } + viewEnvprobes.AddUnique( vProbe ); } }