diff --git a/Engine/source/terrain/glsl/terrFeatureGLSL.cpp b/Engine/source/terrain/glsl/terrFeatureGLSL.cpp index 4945d4c88..2f5b0a4f2 100644 --- a/Engine/source/terrain/glsl/terrFeatureGLSL.cpp +++ b/Engine/source/terrain/glsl/terrFeatureGLSL.cpp @@ -568,7 +568,7 @@ void TerrainDetailMapFeatGLSL::processPix( Vector &component } // Add to the blend total. - meta->addStatement( new GenOp( " @ += @;\r\n", blendTotal, detailBlend ) ); + meta->addStatement(new GenOp(" @ = max( @, @ );\r\n", blendTotal, blendTotal, detailBlend)); // If we had a parallax feature... then factor in the parallax // amount so that it fades out with the layer blending. @@ -820,7 +820,7 @@ void TerrainMacroMapFeatGLSL::processPix( Vector &componentL } // Add to the blend total. - meta->addStatement( new GenOp( " @ += @;\r\n", blendTotal, detailBlend ) ); + meta->addStatement(new GenOp(" @ = max( @, @ );\r\n", blendTotal, blendTotal, detailBlend)); Var *detailColor = (Var*)LangElement::find( "macroColor" ); if ( !detailColor ) diff --git a/Engine/source/terrain/hlsl/terrFeatureHLSL.cpp b/Engine/source/terrain/hlsl/terrFeatureHLSL.cpp index 772c822b1..01ca4b74f 100644 --- a/Engine/source/terrain/hlsl/terrFeatureHLSL.cpp +++ b/Engine/source/terrain/hlsl/terrFeatureHLSL.cpp @@ -509,7 +509,8 @@ void TerrainDetailMapFeatHLSL::processPix( Vector &component } // Add to the blend total. - meta->addStatement( new GenOp( " @ += @;\r\n", blendTotal, detailBlend ) ); + + meta->addStatement(new GenOp(" @ = max( @, @ );\r\n", blendTotal, blendTotal, detailBlend)); // If we had a parallax feature... then factor in the parallax // amount so that it fades out with the layer blending. @@ -856,7 +857,7 @@ void TerrainMacroMapFeatHLSL::processPix( Vector &componentL } // Add to the blend total. - meta->addStatement( new GenOp( " @ += @;\r\n", blendTotal, detailBlend ) ); + meta->addStatement(new GenOp(" @ = max( @, @ );\r\n", blendTotal, blendTotal, detailBlend)); Var *detailColor = (Var*)LangElement::find( "macroColor" ); if ( !detailColor )