The tutorial points to deprecated GLSL calls, I have issues following its example, any help would be greatly appreciated (http://www.opengl.org/sdk/docs/tutor.../Chapter_4.pdf)

From the tutorial:

Vertex:

Code :
attribute vec3 tangent; 
attribute vec3 binormal; 
uniform vec3 CAMERA_POSITION; 
varying vec3 eyeVec; 
 
void main() 
{ 
 gl_Position = ftransform(); 
 gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; 
 
 mat3 TBNMatrix = mat3(tangent, binormal, gl_Normal); 
 eyeVec = CAMERA_POSITION - gl_Vertex.xyz; 
 eyeVec *= TBNMatrix; 
}

Fragment:

Code :
uniform sampler2D basetex; 
uniform sampler2D heightMap; 
uniform vec2 scaleBias; 
varying vec3 eyeVec; 
 
void main() 
{ 
 float height = texture2D(heightMap, gl_TexCoord[0].st).r; 
 //Our heightmap only has one color channel. 
 float v = height * scaleBias.r - scaleBias.g; 
 vec3 eye = normalize(eyeVec); 
 vec2 newCoords = texCoord + (eye.xy * v); 
 
 vec3 rgb = texture2D(basetex, newCoords).rgb; 
 gl_FragColor = vec4(rgb, 1.0); 
}



My Vertex:

Code :
layout( location = 0 ) in vec3 VertexPosition;
layout( location = 1 ) in vec3 VertexNormal;
layout( location = 2 ) in vec2 VertexTexCoord;
layout( location = 3 ) in vec3 VertexTangent;
 
out vec3 Position;
out vec3 Tangent;
out vec3 Normal;
out vec2 TexCoord;
 
uniform float TexTile;
uniform vec3 gEyeWorldPos;
 
out vec3 EyeVec; 
 
 
uniform mat4 M;
uniform mat4 V;
uniform mat4 P;
 
void main() {
 
gl_Position = (P*V*M) * vec4(VertexPosition,1.0);
 
Normal =  (M * vec4(VertexNormal, 0.0)).xyz;
Tangent =  (M * vec4(VertexTangent, 0.0)).xyz;
Position = (M * vec4(VertexPosition, 1.0)).xyz;
 
TexCoord = VertexTexCoord * TexTile;
 
 
vec3 Bitangent = cross(Tangent, Normal);
mat3 TBN = mat3(Tangent, Bitangent, Normal);
EyeVec = gEyeWorldPos - VertexPosition.xyz;
EyeVec *= TBN;
}


My Fragment:


.... same in as out from vertex

Code :
void main()
{
 
	float height = texture2D(gNormalMap, TexCoord.st).r; 
	//Our heightmap only has one color channel. 
	float v = height * 0.04 - 0.02; 
	vec3 eye = normalize(EyeVec); 
	vec2 newCoords = TexCoord + (eye.xy * v); 
 
 
 
	TangentData = normalize(Tangent);
    ColorData.xyz = texture(gColorMap, newCoords).xyz;
	ColorNormalData = texture(gNormalMap, newCoords).xyz;
	ColorPropData.r = 5.0f; //intBitsToFloat(5);
}


Results show some elevation where expected, but allot of noise etc. I also used the same or similar normal(height) texture and diffuse as what demonstrated in the tutorial, so something is wrong around TBN I think, but not sure..