diff --git a/build/config_editor.cfg b/build/config_editor.cfg index 1f0c7fee806022c5511574530000145b1211a0c6..8a02e596e8f10929760a7b9cef98d2a6a78508ea 100644 --- a/build/config_editor.cfg +++ b/build/config_editor.cfg @@ -6,6 +6,8 @@ cl_mode_editor 1 r_stats 2 +r_clear_color 1 + hud_draw 0 hud_crosshair 0 hud_rangefinder 0 diff --git a/source/render/RenderPipeline.cpp b/source/render/RenderPipeline.cpp index d64a070ba51315f609299f82b1f44d70c9267b3a..5ec47998e7abab30fc736a4948762e064b94bef1 100644 --- a/source/render/RenderPipeline.cpp +++ b/source/render/RenderPipeline.cpp @@ -25,6 +25,8 @@ CRenderPipeline::CRenderPipeline(IGXDevice *pDevice): Core_0RegisterCVarBool("dev_lpv_cubes", false, "Отображать сетку LPV"); Core_0RegisterCVarBool("dev_lpv_points", false, "Отображать VPL при инъекции в LPV"); + Core_0RegisterCVarBool("r_clear_color", false, "Очищать буфер перед выводом кадра"); + Core_0RegisterCVarFloat("hdr_adapted_coef", 0.3f, "Коэфициент привыкания к освещению (0,1] (медлено, быстро)"); Core_0RegisterCVarFloat("hdr_base_value", 0.2f, "Базовое значение для тонмаппинга (0,0.5] (темно, ярко)"); @@ -829,6 +831,8 @@ void CRenderPipeline::renderGBuffer() { IGXContext *pCtx = m_pDevice->getThreadContext(); + static const bool *r_clear_color = GET_PCVAR_BOOL("r_clear_color"); + m_pMaterialSystem->bindRenderPass(m_pRenderPassGBuffer); pCtx->setRasterizerState(NULL); @@ -859,7 +863,7 @@ void CRenderPipeline::renderGBuffer() pCtx->setColorTarget(pColorSurf); //pCtx->clear(GX_CLEAR_COLOR | GX_CLEAR_DEPTH | GX_CLEAR_STENCIL, RENDER_DEFAUL_BACKGROUND_COLOR, 0.0f); - pCtx->clear(GX_CLEAR_DEPTH | GX_CLEAR_STENCIL, RENDER_DEFAUL_BACKGROUND_COLOR, 0.0f); + pCtx->clear(GX_CLEAR_DEPTH | GX_CLEAR_STENCIL | (*r_clear_color ? GX_CLEAR_COLOR : 0), RENDER_DEFAUL_BACKGROUND_COLOR, 0.0f); pCtx->setColorTarget(pNormalSurf, 1); pCtx->setColorTarget(pParamSurf, 2);