gluLookAt()使屏幕空白
gluLookAt() makes blank screen
我没有太多的OpenGL经验。我正试着画一个茶壶,并在茶壶周围移动相机。为此,我使用了gluLookAt函数。问题是,当我调用gluLookAt时,屏幕是空白的,我看不到我的茶壶。
#include "openGLer.h"
void openGLer::simulate(grid* toSim, int* argc, char** argv)
{
myGrid = toSim;
glutInit(argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowSize(400, 400); //Set the window size
glutCreateWindow("");
glutDisplayFunc(display);
glutIdleFunc(display);
glutKeyboardFunc(handleKeypress);
glEnable(GL_DEPTH_TEST);
glutMainLoop();
}
void openGLer::handleKeypress(unsigned char key, //The key that was pressed
int x, int y)
{
switch (key)
{
case 27: exit(0);
}
}
void openGLer::camera()
{
gluLookAt(3, 3, 0,
0, 0, 0,
0, 1, 0
);
}
void openGLer::draw()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
camera();
glutWireTeapot(0.5);
glutSwapBuffers();
}
void openGLer::display()
{
draw();
}
为什么gluLookAt()使屏幕空白,我如何解决这个问题?当camera()未被调用时,代码按预期执行;
你的投影矩阵设置正确了吗?否则,你对gluLookAt
的调用将导致茶壶离得太远,因此被远平面夹住。
尝试将此添加到您的初始化代码中(以及您的resize处理程序,以在调整窗口大小时修复长宽比)。我把远平面调到100度,对你的茶壶来说足够了。
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective (60.0, width/(float)height, 0.1, 100.0);
glMatrixMode(GL_MODELVIEW);
相关文章:
- OpenGL - 添加第二个着色器属性会导致空白屏幕
- WXWIDGETS应用于WXStaticBitMap时,屏幕截图将大部分图像留为空白
- OpenGL多个带有独特着色器的呼叫可提供空白屏幕
- 绘制三角形时只有空白屏幕
- OpenGL 3 Qt 渲染空白屏幕
- OpenGL显示空白屏幕.可能是因为着色器
- Qml 中的 PyQt5 ApplicationWindow 出现空白屏幕
- SDL3dOpenGL:立方体上的纹理产生空白屏幕
- visualstudio-提供空白屏幕作为输出
- 如何排除vulkan空白屏幕故障
- TMXTiledMap显示空白屏幕
- C++生成随机数而不重复.输出屏幕只是一片空白,光标在闪烁
- GLUT只是呈现一个空白的白色屏幕
- 在OpenGL中启用深度测试后,我的整个屏幕是空白的(恢复为清晰的颜色)-为什么
- 在c++中调试程序时,我得到一个空白屏幕
- OpenGL空白屏幕
- 记录屏幕时不出现的奇怪的 MFC/GDI 行为(空白图像)
- gluLookAt()使屏幕空白
- QT OpenGL, glDrawElements和glDrawArray只显示空白屏幕
- 使用帧缓冲和Oculus Rift的空白屏幕