From 1751e60734ffe8499ddb3e7374df5861d05e7340 Mon Sep 17 00:00:00 2001 From: Anis Date: Fri, 19 Dec 2014 12:22:36 +0100 Subject: [PATCH 1/4] bugfix #1066 texcoord connector on the vertexshader to avoid link time error --- Engine/source/shaderGen/GLSL/pixSpecularGLSL.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Engine/source/shaderGen/GLSL/pixSpecularGLSL.cpp b/Engine/source/shaderGen/GLSL/pixSpecularGLSL.cpp index 4e34e2116..2ecb56df6 100644 --- a/Engine/source/shaderGen/GLSL/pixSpecularGLSL.cpp +++ b/Engine/source/shaderGen/GLSL/pixSpecularGLSL.cpp @@ -111,6 +111,20 @@ ShaderFeature::Resources PixelSpecularGLSL::getResources( const MaterialFeatureD return res; } +void SpecularMapGLSL::processVert(Vector &componentList, const MaterialFeatureData &fd) +{ + MultiLine *meta = new MultiLine; + + // Add the texture coords. + getOutTexCoord("texCoord", + "vec2", + true, + fd.features[MFT_TexAnim], + meta, + componentList); + + output = meta; +} void SpecularMapGLSL::processPix( Vector &componentList, const MaterialFeatureData &fd ) { @@ -150,4 +164,4 @@ void SpecularMapGLSL::setTexData( Material::StageData &stageDat, passData.mSamplerNames[ texIndex ] = "specularMap"; passData.mTexSlot[ texIndex++ ].texObject = tex; } -} \ No newline at end of file +} From 4bf5aade6e1fe00bfa5ebdaca30134fdd5f47b5b Mon Sep 17 00:00:00 2001 From: Anis Date: Fri, 19 Dec 2014 12:24:03 +0100 Subject: [PATCH 2/4] make override processVert on SpecularMap feature --- Engine/source/shaderGen/GLSL/pixSpecularGLSL.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Engine/source/shaderGen/GLSL/pixSpecularGLSL.h b/Engine/source/shaderGen/GLSL/pixSpecularGLSL.h index 2b7c92b95..b7a79f6fc 100644 --- a/Engine/source/shaderGen/GLSL/pixSpecularGLSL.h +++ b/Engine/source/shaderGen/GLSL/pixSpecularGLSL.h @@ -58,6 +58,9 @@ class SpecularMapGLSL : public ShaderFeatureGLSL { public: + virtual void processVert( Vector &componentList, + const MaterialFeatureData &fd ); + virtual void processPix( Vector &componentList, const MaterialFeatureData &fd ); @@ -74,4 +77,4 @@ public: } }; -#endif // _PIXSPECULAR_HLSL_H_ \ No newline at end of file +#endif // _PIXSPECULAR_HLSL_H_ From 30815cb641359c542fde8f4e32194af4495f3b93 Mon Sep 17 00:00:00 2001 From: Anis Date: Fri, 19 Dec 2014 12:25:18 +0100 Subject: [PATCH 3/4] fixed also on DirectX --- Engine/source/shaderGen/HLSL/pixSpecularHLSL.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Engine/source/shaderGen/HLSL/pixSpecularHLSL.cpp b/Engine/source/shaderGen/HLSL/pixSpecularHLSL.cpp index 97485dbd6..8b65a9491 100644 --- a/Engine/source/shaderGen/HLSL/pixSpecularHLSL.cpp +++ b/Engine/source/shaderGen/HLSL/pixSpecularHLSL.cpp @@ -111,6 +111,20 @@ ShaderFeature::Resources PixelSpecularHLSL::getResources( const MaterialFeatureD return res; } +void SpecularMapHLSL::processVert(Vector &componentList, const MaterialFeatureData &fd) +{ + MultiLine *meta = new MultiLine; + + // Add the texture coords. + getOutTexCoord("texCoord", + "float2", + true, + fd.features[MFT_TexAnim], + meta, + componentList); + + output = meta; +} void SpecularMapHLSL::processPix( Vector &componentList, const MaterialFeatureData &fd ) { @@ -150,4 +164,4 @@ void SpecularMapHLSL::setTexData( Material::StageData &stageDat, passData.mSamplerNames[ texIndex ] = "specularMap"; passData.mTexSlot[ texIndex++ ].texObject = tex; } -} \ No newline at end of file +} From 5c72035e0189efc58d87e211b3f2f70936c1e147 Mon Sep 17 00:00:00 2001 From: Anis Date: Fri, 19 Dec 2014 12:25:56 +0100 Subject: [PATCH 4/4] virtual processVert also on directx --- Engine/source/shaderGen/HLSL/pixSpecularHLSL.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Engine/source/shaderGen/HLSL/pixSpecularHLSL.h b/Engine/source/shaderGen/HLSL/pixSpecularHLSL.h index 0afea87ed..9f550e4ba 100644 --- a/Engine/source/shaderGen/HLSL/pixSpecularHLSL.h +++ b/Engine/source/shaderGen/HLSL/pixSpecularHLSL.h @@ -58,6 +58,9 @@ class SpecularMapHLSL : public ShaderFeatureHLSL { public: + virtual void processVert( Vector &componentList, + const MaterialFeatureData &fd ); + virtual void processPix( Vector &componentList, const MaterialFeatureData &fd ); @@ -74,4 +77,4 @@ public: } }; -#endif // _PIXSPECULAR_HLSL_H_ \ No newline at end of file +#endif // _PIXSPECULAR_HLSL_H_