Opengl,用静止光旋转场景

时间:2015-04-29 19:36:17

标签: opengl light

我的OpenGL游戏项目有问题。 我已经定义了具有光属性的数组:

GLfloat mat_ambient[] = { 1.0, 1.0, 1.0, 1.0 };
GLfloat mat_shininess[] = { 50.0 };
GLfloat light_position[] = { 3.0, 20.0, 3.0, 0.0 };

我用它:

glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);
glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);

glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);

glEnable(GL_COLOR_MATERIAL);
glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);

我已经定义了我的Camera类和更新方法:

void update()
{
    glLoadIdentity();
    x = dist * sin(alpha) + 3;
    z = dist * cos(alpha) + 3;
    gluLookAt(x, y, z, 3, 5, 3, 0, 1, 0);
    if (y <= 1) y = 1;

    cout << "x " << x << "y: " << y << "z: " << z << "dist: " << dist << endl;
    glutPostRedisplay();
}

我场景的中心点是(3,5,3)。我想围绕这一点及其工作旋转场景。但我对灯有问题 - 它也“旋转” - 我不知道如何描述它。

我希望简单的照明和相机围绕点旋转。

0 个答案:

没有答案