From ea4a8bb3615be431b51cb744adc8505ce6821286 Mon Sep 17 00:00:00 2001 From: Lukas Joergensen Date: Wed, 10 Sep 2014 01:21:52 +0200 Subject: [PATCH] Proper rendering of basetexture Now terrain basetexture is properly cleared and never transparent. --- Engine/source/terrain/terrRender.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Engine/source/terrain/terrRender.cpp b/Engine/source/terrain/terrRender.cpp index 4b03ac812..ec4dec3dd 100644 --- a/Engine/source/terrain/terrRender.cpp +++ b/Engine/source/terrain/terrRender.cpp @@ -170,9 +170,10 @@ bool TerrainBlock::_initBaseShader() desc.zDefined = true; desc.zWriteEnable = false; desc.zEnable = false; - desc.setBlend( true, GFXBlendSrcAlpha, GFXBlendInvSrcAlpha ); + desc.setBlend( true, GFXBlendSrcAlpha, GFXBlendOne ); desc.cullDefined = true; desc.cullMode = GFXCullNone; + desc.colorWriteAlpha = false; mBaseShaderSB = GFX->createStateBlock( desc ); return true; @@ -251,6 +252,8 @@ void TerrainBlock::_updateBaseTexture( bool writeToCache ) mBaseTarget->attachTexture( GFXTextureTarget::Color0, blendTex ); GFX->setActiveRenderTarget( mBaseTarget ); + GFX->clear( GFXClearTarget, ColorI(0,0,0,255), 1.0f, 0 ); + GFX->setTexture( 0, mLayerTex ); mBaseShaderConsts->setSafe( mBaseLayerSizeConst, (F32)mLayerTex->getWidth() );