From b0f5f51f4cce3118399aeda76aabf05b0f63bfe4 Mon Sep 17 00:00:00 2001 From: Robert Beckebans Date: Sat, 9 Jan 2016 20:17:09 +0100 Subject: [PATCH] Bugfix --- neo/renderer/RenderLog.h | 2 +- neo/renderer/tr_backend_draw.cpp | 28 +++++++++++++++++++--------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/neo/renderer/RenderLog.h b/neo/renderer/RenderLog.h index b617662c..3da1f6ef 100644 --- a/neo/renderer/RenderLog.h +++ b/neo/renderer/RenderLog.h @@ -34,7 +34,7 @@ Contains the RenderLog declaration. ================================================================================================ */ -#if 1// defined(ID_RETAIL) && !defined(ID_RETAIL_INTERNAL) +#if defined(ID_RETAIL) && !defined(ID_RETAIL_INTERNAL) #define STUB_RENDER_LOG #endif diff --git a/neo/renderer/tr_backend_draw.cpp b/neo/renderer/tr_backend_draw.cpp index 473044ad..51b0789a 100644 --- a/neo/renderer/tr_backend_draw.cpp +++ b/neo/renderer/tr_backend_draw.cpp @@ -1754,13 +1754,19 @@ RB_AmbientPass */ static void RB_AmbientPass( const drawSurf_t* const* drawSurfs, int numDrawSurfs, bool fillGbuffer ) { - if( fillGbuffer && !r_useSSGI.GetBool() ) + if( fillGbuffer ) { - return; + if( !r_useSSGI.GetBool() ) + { + return; + } } - else if( r_forceAmbient.GetFloat() <= 0 || r_skipAmbient.GetBool() ) + else { - return; + if( r_forceAmbient.GetFloat() <= 0 || r_skipAmbient.GetBool() ) + { + return; + } } if( numDrawSurfs == 0 ) @@ -4510,9 +4516,9 @@ static void RB_Bloom( const viewDef_t* viewDef ) } -void RB_SSAO() +static void RB_SSAO( const viewDef_t* viewDef ) { - if( !backEnd.viewDef->viewEntitys ) + if( !viewDef->viewEntitys || viewDef->is2Dgui ) { // 3D views only return; @@ -4524,7 +4530,7 @@ void RB_SSAO() } // FIXME very expensive to enable this in subviews - if( backEnd.viewDef->isSubview ) + if( viewDef->isSubview ) { return; } @@ -4678,7 +4684,7 @@ void RB_SSAO() { globalFramebuffers.ambientOcclusionFBO[0]->Bind(); - glClearColor( 1, 0, 0, 1 ); + glClearColor( 0, 0, 0, 0 ); glClear( GL_COLOR_BUFFER_BIT ); renderProgManager.BindShader_AmbientOcclusion(); @@ -4814,6 +4820,10 @@ void RB_SSAO() RB_DrawElementsWithCounters( &backEnd.unitSquareSurface ); } + renderProgManager.Unbind(); + + GL_State( GLS_DEFAULT ); + GL_Cull( CT_FRONT_SIDED ); GL_CheckErrors(); } @@ -4958,7 +4968,7 @@ void RB_DrawViewInternal( const viewDef_t* viewDef, const int stereoEye ) globalImages->currentDepthImage->CopyDepthbuffer( viewport.x1, viewport.y1, viewport.GetWidth(), viewport.GetHeight() ); } - RB_SSAO(); + RB_SSAO( viewDef ); //------------------------------------------------- // now draw any non-light dependent shading passes