diff --git a/Templates/Empty/game/shaders/common/terrain/terrain.hlsl b/Templates/Empty/game/shaders/common/terrain/terrain.hlsl index 328acae7f..8ce497012 100644 --- a/Templates/Empty/game/shaders/common/terrain/terrain.hlsl +++ b/Templates/Empty/game/shaders/common/terrain/terrain.hlsl @@ -32,9 +32,12 @@ float calcBlend( float texId, float2 layerCoord, float layerSize, float4 layerSa float4 diff = saturate( abs( layerSample - texId ) ); float noBlend = any( 1 - diff ); - // Use step to see if any of the layer samples + // Check if any of the layer samples // match the current texture id. - float4 factors = step( texId, layerSample ); + float4 factors = 0; + for(int i = 0; i < 4; i++) + if(layerSample[i] == texId) + factors[i] = 1; // This is a custom bilinear filter. diff --git a/Templates/Full/game/shaders/common/terrain/terrain.hlsl b/Templates/Full/game/shaders/common/terrain/terrain.hlsl index 328acae7f..8ce497012 100644 --- a/Templates/Full/game/shaders/common/terrain/terrain.hlsl +++ b/Templates/Full/game/shaders/common/terrain/terrain.hlsl @@ -32,9 +32,12 @@ float calcBlend( float texId, float2 layerCoord, float layerSize, float4 layerSa float4 diff = saturate( abs( layerSample - texId ) ); float noBlend = any( 1 - diff ); - // Use step to see if any of the layer samples + // Check if any of the layer samples // match the current texture id. - float4 factors = step( texId, layerSample ); + float4 factors = 0; + for(int i = 0; i < 4; i++) + if(layerSample[i] == texId) + factors[i] = 1; // This is a custom bilinear filter.