Browse Source

Proper rendering of basetexture

Now terrain basetexture is properly cleared and never transparent.
Lukas Joergensen 11 years ago
parent
commit
ea4a8bb361
1 changed files with 4 additions and 1 deletions
  1. 4 1
      Engine/source/terrain/terrRender.cpp

+ 4 - 1
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() );