Fix to allow parallax mapping with dxtnm textures via the red channel.

This commit is contained in:
rextimmy 2014-07-03 17:56:47 +10:00
parent feec36731e
commit 3c56bf3a56
5 changed files with 52 additions and 8 deletions

View file

@ -456,8 +456,16 @@ void TerrainDetailMapFeatHLSL::processPix( Vector<ShaderComponent*> &component
Var *normalMap = _getNormalMapTex();
// Call the library function to do the rest.
meta->addStatement( new GenOp( " @.xy += parallaxOffset( @, @.xy, @, @.z * @ );\r\n",
inDet, normalMap, inDet, negViewTS, detailInfo, detailBlend ) );
if(fd.features.hasFeature( MFT_IsDXTnm, detailIndex ) )
{
meta->addStatement( new GenOp( " @.xy += parallaxOffsetDxtnm( @, @.xy, @, @.z * @ );\r\n",
inDet, normalMap, inDet, negViewTS, detailInfo, detailBlend ) );
}
else
{
meta->addStatement( new GenOp( " @.xy += parallaxOffset( @, @.xy, @, @.z * @ );\r\n",
inDet, normalMap, inDet, negViewTS, detailInfo, detailBlend ) );
}
}
// If this is a prepass then we skip color.