Merge pull request #719 from rextimmy/dxtnm-parallax-fix

Fix to allow parallax mapping with dxtnm textures via the red channel.
This commit is contained in:
Areloch 2015-08-27 23:59:20 -05:00
commit 95ab3a33a5
5 changed files with 52 additions and 8 deletions

View file

@ -347,8 +347,16 @@ void ParallaxFeatHLSL::processPix( Vector<ShaderComponent*> &componentList,
Var *normalMap = getNormalMapTex();
// Call the library function to do the rest.
meta->addStatement( new GenOp( " @.xy += parallaxOffset( @, @.xy, @, @ );\r\n",
texCoord, normalMap, texCoord, negViewTS, parallaxInfo ) );
if(fd.features.hasFeature( MFT_IsDXTnm, getProcessIndex() ))
{
meta->addStatement( new GenOp( " @.xy += parallaxOffsetDxtnm( @, @.xy, @, @ );\r\n",
texCoord, normalMap, texCoord, negViewTS, parallaxInfo ) );
}
else
{
meta->addStatement( new GenOp( " @.xy += parallaxOffset( @, @.xy, @, @ );\r\n",
texCoord, normalMap, texCoord, negViewTS, parallaxInfo ) );
}
// TODO: Fix second UV maybe?