【发布时间】:2019-02-24 22:29:17
【问题描述】:
我正在尝试围绕 y 轴旋转查看器。我有一个名为tranform_eye() 的函数,它将在每次更新后计算eyex、eyey 和eyez 的下一个位置。
谁能帮我弄清楚如何计算eyex、eyey 和eyez 的值?
我的代码:
float eyex = 5;
float eyey = 5;
float eyez = 5;
void display() {
transform_eye();
glMatrixMode(GL_PROJECTION); // To operate on model-view matrix
glLoadIdentity();
gluPerspective(40.0, 1.0, 1.0, 10000.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(eyex, eyey, eyez,
0.0, 0.0, 0.0,
0.0, 1.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear color and depth buffers
drawTriangles();
glutSwapBuffers(); // Swap the front and back frame buffers (double buffering)
}
void transform(){
/// calculate new eyex, y z.
}
【问题讨论】:
标签: c opengl matrix rotation glu