Я следовал руководству по освещению и настроил источник освещения для своего вращающегося куба (вращается при взаимодействии пользователя с 3 осями)
Однако что бы я ни делал, я не могудержите источник света в правильном положении, он вращается вместе с кубом.Поэтому, если я поверну куб, одна часть будет гореть, а одна - нет.
Я делаю немало манипуляций с матрицей.Я попытался сбросить матрицу и затем применить источник света, я попытался glLoadIdentity()
, чтобы восстановить вид.
Я просто не могу держать это в покое.
static const Vertex3D light0Position[] = {{0.0, 10.0, 10.0}};
glLightfv(GL_LIGHT0, GL_POSITION, (const GLfloat *)light0Position);
// Calculate light vector so it points at the object
static const Vertex3D objectPoint[] = {{8.0, 8.0, -4.0}};
const Vertex3D lightVector = Vector3DMakeWithStartAndEndPoints(light0Position[0], objectPoint[0]);
glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, (GLfloat *)&lightVector);