【发布时间】:2019-03-22 13:50:38
【问题描述】:
我已经查看了多个关于此的问题,包括this 一个。我想要的是一个人从走廊往下看,在人的侧面看左右墙的后墙。这是我的代码:
初始化
float lookAtX = 0, lookAtY = 0, lookAtZ = -2.5, posX = 0, posY = 0, posZ = 0;
绘图
glEnable(GL_DEPTH_TEST);
glMatrixMode(GL_MODELVIEW);
gluLookAt(
posX, posY, posZ,
lookAtX, lookAtY, lookAtZ,
0, 0, 1
);
// Back
glBegin(GL_POLYGON);
glColor3f(255, 0, 0); // Red
glVertex3f(-2.5, -2.5, 2.5);
glVertex3f(2.5, 2.5, 2.5);
glVertex3f(2.5, -2.5, 2.5);
glVertex3f(-2.5, -2.5, 2.5);
glEnd();
// Left
glBegin(GL_POLYGON);
glColor3f(0, 255, 0); // Green
glVertex3f(-2.5, 2.5, 2.5);
glVertex3f(-2.5, 2.5, -2.5);
glVertex3f(-2.5, -2.5, 2.5);
glVertex3f(-2.5, -2.5, -2.5);
glEnd();
// Right
glBegin(GL_POLYGON);
glColor3f(0, 0, 255); // Yellow
glVertex3f(2.5, 2.5, 2.5);
glVertex3f(2.5, 2.5, -2.5);
glVertex3f(2.5, -2.5, 2.5);
glVertex3f(2.5, -2.5, -2.5);
glEnd();
glFlush();
window.pushGLStates();
我确信外部代码是正确的,因为我有另一段具有相同骨架的代码。我也相信这会奏效......但我想它没有 xD。为什么会出现黑屏,为什么不显示墙壁?感谢您抽出宝贵时间阅读本文
【问题讨论】:
-
那么……你到底想问什么问题?
-
@MichaelKenzel 为什么会出现黑屏,为什么不显示墙壁?
-
glm是更好的东西。它也有LookAt()。不要使用 glfw 等,使用 glew .github.com/alexeyneu/glsl-base/blob/…