From 4b56714199182a1cb4a658a2b4fd32c1cb81e9d6 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 26 Apr 2020 00:03:08 +0200 Subject: [PATCH] - made hw_postprocess.cpp compatible. The shadowmap is not universal, it depends on Doom's map format. --- .../postprocessing/hw_postprocess.cpp | 24 ++++--------------- .../postprocessing/hw_postprocessshader.cpp | 20 +++++++++++++++- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/common/rendering/hwrenderer/postprocessing/hw_postprocess.cpp b/src/common/rendering/hwrenderer/postprocessing/hw_postprocess.cpp index c8a32f30f..db991145a 100644 --- a/src/common/rendering/hwrenderer/postprocessing/hw_postprocess.cpp +++ b/src/common/rendering/hwrenderer/postprocessing/hw_postprocess.cpp @@ -26,10 +26,14 @@ #include "hwrenderer/postprocessing/hw_postprocessshader.h" #include #include "texturemanager.h" +#include "templates.h" +#include "stats.h" +#include "colormaps.h" Postprocess hw_postprocess; PPResource *PPResource::First = nullptr; +TArray PostProcessShaders; bool gpuStatActive = false; bool keepGpuStatActive = false; @@ -862,26 +866,6 @@ PPPresent::PPPresent() ///////////////////////////////////////////////////////////////////////////// -void PPShadowMap::Update(PPRenderState *renderstate) -{ - ShadowMapUniforms uniforms; - uniforms.ShadowmapQuality = (float)gl_shadowmap_quality; - uniforms.NodesCount = screen->mShadowMap.NodesCount(); - - renderstate->PushGroup("shadowmap"); - - renderstate->Clear(); - renderstate->Shader = &ShadowMap; - renderstate->Uniforms.Set(uniforms); - renderstate->Viewport = { 0, 0, gl_shadowmap_quality, 1024 }; - renderstate->SetShadowMapBuffers(true); - renderstate->SetOutputShadowMap(); - renderstate->SetNoBlend(); - renderstate->Draw(); - - renderstate->PopGroup(); -} - ///////////////////////////////////////////////////////////////////////////// CVAR(Bool, gl_custompost, true, 0) diff --git a/src/rendering/hwrenderer/postprocessing/hw_postprocessshader.cpp b/src/rendering/hwrenderer/postprocessing/hw_postprocessshader.cpp index 1b181ec5a..9b90fbd62 100644 --- a/src/rendering/hwrenderer/postprocessing/hw_postprocessshader.cpp +++ b/src/rendering/hwrenderer/postprocessing/hw_postprocessshader.cpp @@ -24,7 +24,25 @@ #include "hwrenderer/postprocessing/hw_postprocessshader.h" #include "g_levellocals.h" -TArray PostProcessShaders; +void PPShadowMap::Update(PPRenderState *renderstate) +{ + ShadowMapUniforms uniforms; + uniforms.ShadowmapQuality = (float)gl_shadowmap_quality; + uniforms.NodesCount = screen->mShadowMap.NodesCount(); + + renderstate->PushGroup("shadowmap"); + + renderstate->Clear(); + renderstate->Shader = &ShadowMap; + renderstate->Uniforms.Set(uniforms); + renderstate->Viewport = { 0, 0, gl_shadowmap_quality, 1024 }; + renderstate->SetShadowMapBuffers(true); + renderstate->SetOutputShadowMap(); + renderstate->SetNoBlend(); + renderstate->Draw(); + + renderstate->PopGroup(); +} static bool IsConsolePlayer(player_t *player)