Proper rendering of basetexture

Now terrain basetexture is properly cleared and never transparent.
This commit is contained in:
Lukas Joergensen 2014-09-10 01:21:52 +02:00
parent 53f241974b
commit ea4a8bb361

View file

@ -170,9 +170,10 @@ bool TerrainBlock::_initBaseShader()
desc.zDefined = true; desc.zDefined = true;
desc.zWriteEnable = false; desc.zWriteEnable = false;
desc.zEnable = false; desc.zEnable = false;
desc.setBlend( true, GFXBlendSrcAlpha, GFXBlendInvSrcAlpha ); desc.setBlend( true, GFXBlendSrcAlpha, GFXBlendOne );
desc.cullDefined = true; desc.cullDefined = true;
desc.cullMode = GFXCullNone; desc.cullMode = GFXCullNone;
desc.colorWriteAlpha = false;
mBaseShaderSB = GFX->createStateBlock( desc ); mBaseShaderSB = GFX->createStateBlock( desc );
return true; return true;
@ -251,6 +252,8 @@ void TerrainBlock::_updateBaseTexture( bool writeToCache )
mBaseTarget->attachTexture( GFXTextureTarget::Color0, blendTex ); mBaseTarget->attachTexture( GFXTextureTarget::Color0, blendTex );
GFX->setActiveRenderTarget( mBaseTarget ); GFX->setActiveRenderTarget( mBaseTarget );
GFX->clear( GFXClearTarget, ColorI(0,0,0,255), 1.0f, 0 );
GFX->setTexture( 0, mLayerTex ); GFX->setTexture( 0, mLayerTex );
mBaseShaderConsts->setSafe( mBaseLayerSizeConst, (F32)mLayerTex->getWidth() ); mBaseShaderConsts->setSafe( mBaseLayerSizeConst, (F32)mLayerTex->getWidth() );