OpenGL 坐标点大小,视点问题(无法显示三维图形)

u013516421 2014-10-13 12:39:46
本人大三初学Opengl,尝试着写了一下显示三维空间里的三个多边形的代码:

#include <gl/glut.h>
void init()
{glClearColor(1.0,1.0,1.0,0.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(2.0f,0.0f,4.0f,2.0f,0.0f,0.0f,2.0f,4.0f,0.0f);
}
void CGTest()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0f,0.0f,0.0f);

glBegin(GL_QUADS);
glVertex3f(1.5f,0.0f,2.5f);
glVertex3f(2.5f,0.0f,2.5f);
glVertex3f(2.5f,0.5f,2.5f);
glVertex3f(1.5f,0.5f,2.5f);
glEnd();

glBegin(GL_QUADS);
glVertex3f(1.5f,0.5f,2.0f);
glVertex3f(2.5f,0.5f,2.0f);
glVertex3f(2.5f,0.5f,2.5f);
glVertex3f(1.5f,0.5f,2.5f);
glEnd();

glBegin(GL_QUADS);
glVertex3f(2.5f,0.5f,2.5f);
glVertex3f(2.5f,0.5f,2.0f);
glVertex3f(2.5f,0.0f,2.0f);
glVertex3f(2.5f,0.0f,2.5f);
glEnd();

glFlush();
}
void main(int argc,char** argv)
{glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowPosition(50,100);
glutInitWindowSize(400,400);
glutCreateWindow("An Example OpenGL Program");
init();
glutDisplayFunc(CGTest);
glutMainLoop();
}

但是生成后没有显示任何黑色的多边形,是跟坐标点的位置有关么?还是说LookAt函数的参数不对呢?

...全文
199 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
u013516421 2014-10-15
  • 打赏
  • 举报
回复
查了一下 主要还是 glperspective跟glulookat两个函数没有设置好 谢谢大家的提醒!
国产冬瓜 2014-10-14
  • 打赏
  • 举报
回复
把视口设定好 用glperspective glviewport
victor_woo 2014-10-14
  • 打赏
  • 举报
回复
把eye放远一点试试
victor_woo 2014-10-14
  • 打赏
  • 举报
回复

void gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez,GLdouble centerx,GLdouble centery,GLdouble centerz,GLdouble upx,GLdouble upy,GLdouble upz);
该函数定义一个视图矩阵,并与当前矩阵相乘。
第一组eyex, eyey,eyez 相机在世界坐标的位置
第二组centerx,centery,centerz 相机镜头对准的物体在世界坐标的位置
第三组upx,upy,upz 相机向上的方向在世界坐标中的方向
你把相机想象成为你自己的脑袋:
第一组数据就是脑袋的位置
第二组数据就是眼睛看的物体的位置
第三组就是头顶朝向的方向(因为你可以歪着头看同一个物体)

gluLookAt(2.0f,0.0f,4.0f,2.0f,0.0f,0.0f,2.0f,4.0f,0.0f);

glBegin(GL_QUADS);
glVertex3f(1.5f,0.0f,2.5f);
glVertex3f(2.5f,0.0f,2.5f);
glVertex3f(2.5f,0.5f,2.5f);
glVertex3f(1.5f,0.5f,2.5f);
glEnd();
先整理一下再看

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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