opengl中gluLookAt函数的疑问

8435123 2019-08-24 10:25:55
首先代码如下:


#include "pch.h"
#include <gl/GLUT.H>

GLsizei ww = 500, wh = 500;

void display()
{
glClear(GL_COLOR_BUFFER_BIT); //清空颜色缓冲池
glColor3f(1.0f, 0.0f, 0.0f); //设置绘图颜色
//gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glRectf(-0.5f, -0.5f, 0.5f, 0.5f); //绘制矩形
glFlush(); //执行OpenGL指令列表中的指令
}

void myReshape(int w, int h)
{
ww = w, wh = h;
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if (w <= h) glOrtho(-2.0, 2.0, -2.0 * (GLfloat)h / (GLfloat)w, 2.0* (GLfloat)h / (GLfloat)w, 0.0, 20.0);
else glOrtho(-2.0 * (GLfloat)w / (GLfloat)h, 2.0* (GLfloat)w / (GLfloat)h, -2.0, 2.0, 0.0, 20.0);
}

int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(ww, wh);
glutCreateWindow("Rec");
glutReshapeFunc(myReshape);
glutDisplayFunc(display);
glutMainLoop();
}

当使用gluLookAt()函数时,运行程序并且在窗口中点击3次鼠标左键,绘制的红色矩形消失了。不使用gluLookAt()时不会有这种情况,小白求教。
...全文
45 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧