I try to realize a bumped Cubemap.
Without a bumpmap affecting the cubemap its no problem.
I have the reflectVector for the cubemap lookup in object-space which works fine.
But the normal_t for the bumpmap is in tangent space.
I tried to calculate normal_t into objectspace for the cubemap lookup.
For this I created the TBN_InverseMatrix for test purpose just in fragment shader:
varying vec3 normal_o;
attribute vec3 rm_Tangent;
//where this attribute is just treated as a varying because of the interpolation
vec3 n = normal_o;
vec3 t = rm_Tangent;
vec3 b = cross(t,n);//determinant
float d = t.xb.xn.z + b.xn.yt.z + n.xt.yb.z -
n.xb.xt.z + b.xt.yn.z + n.yt.xb.z;vec3 ti = vec3 (b.yn.z - b.zn.y, n.yt.z - t.yn.z, t.yb.z - b.yt.z);
vec3 bi = vec3 (n.xb.z - b.xn.z, t.xn.z - n.xt.z, b.xt.z - t.xb.z);
vec3 ni = vec3 (b.xn.y - n.xb.y, n.xt.y - t.xn.y, t.xb.y - b.xt.y);mat3 TBN_Matrix = mat3(t, b, n);
mat3 TBN_InverseMatrix = mat3(ti, bi, ni) / d;
vec3 normalb_o = normal_t * TBN_InverseMatrix;
reflectVector_vn_o = normalize(reflect(-viewVector_o, normalb_o));
//…
cubeColor = textureCube(cubeMap, reflectVector_vn_o, 1.0);
But now I don’t have a cubemap at all.
I have never seen a other shader having a bumped cubemap aslong the bump is from a texture.
Anyone an idea ?