Hola.
 
Estoy haciendo un juego con C++ y OpenGL.
 
Cuando el modelo esta situado en las coordenadas 0,0,0 al mover la bombilla , la iluminacion funciona correctamente.
 
Pero cuando sitúo el objeto en otras coordenadas sigue iluminándose como si estuviera en el 0,0,0.
 
¿Que debo hacer para que se ilumine bien con respecto a su nueva posicion?
 
Así realizo el calculo de normales.
 
int i;
_planef Plane1;
bool Error=false;
if (Faces_normals.size()!=Faces_vertices.size()) 
Faces_normals.resize(Faces_vertices.size());//dar tamaño al vector de normales
for (i=0;i<Faces_vertices.size();i++)
{
if(escalado==0)
{
Faces_normals[i]=CalcNormal(Vertices[Faces_vertices[i]._1].x,Vertices[Faces_vertices[i]._1].y,Vertices[Faces_vertices[i]._1].z,Vertices[Faces_vertices[i]._2].x,Vertices[Faces_vertices[i]._2].y,Vertices[Faces_vertices[i]._2].z,Vertices[Faces_vertices[i]._3].x,Vertices[Faces_vertices[i]._3].y,Vertices[Faces_vertices[i]._3].z);
}
else
{
Faces_normals[i]=CalcNormal(Vertices[Faces_vertices[i]._1].x * escalado,Vertices[Faces_vertices[i]._1].y * escalado,Vertices[Faces_vertices[i]._1].z * escalado,Vertices[Faces_vertices[i]._2].x * escalado,Vertices[Faces_vertices[i]._2].y * escalado ,Vertices[Faces_vertices[i]._2].z * escalado,Vertices[Faces_vertices[i]._3].x * escalado,Vertices[Faces_vertices[i]._3].y * escalado,Vertices[Faces_vertices[i]._3].z * escalado);
}
 
}
 
Gracias. 
  
 
.
 

