I’m implementing a dot3 Bump mapping using 3 texture unit with Normal Cube Map.

So I’ve got a problem with Tangent & binormal Vectors Generation.

with Google I’ve found that:

Tangent_List = new CVector3D[Num_Vertices];

Binormal_List = new CVector3D[Num_Vertices];for(unsigned int j=0; j<Num_Faces*3; j+=3)

{

CVector3D vec1, vec2;

int i = FaceIndex_List[j];

int i1 = FaceIndex_List[j+1];

int i2 = FaceIndex_List[j+2];`vec1 = Vertex_List[i2] - Vertex_List[i]; vec2 = Vertex_List[i1] - Vertex_List[i]; float d_u1 = Mapping_List[i2].x - Mapping_List[i].x; float d_u2 = Mapping_List[i1].y - Mapping_List[i].y; Tangent_List[i] = (vec1 * d_u1) - (vec2 * d_u2); Tangent_List[i].Normalize(); Tangent_List[i1] = Tangent_List[i]; Tangent_List[i2] = Tangent_List[i];`

`Binormal_List[i] = Normal_List[i].CrossProduct(Tangent_List[i]); Binormal_List[i1] = Normal_List[i1].CrossProduct(Tangent_List[i1]); Binormal_List[i2] = Normal_List[i2].CrossProduct(Tangent_List[i2]); }`

But when Rendering, the bumped object (sphere cylinder torus etc…) doesn’t look weel.

Someplaces bump is inverted…

How must it be done?

Suggestions Are welcome.

Thanks.