一个简单的GL程序,找不到错哪儿了,希望眼尖的朋友指点下 很简单的GL程序,不知道错哪里了。求助问题说明和工程文件下载都写在下面的页面中,希望有空的达人帮忙看下。十分感激! http://bbs.gameres.com/showthread.asp?threadid=108906 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把void CGLDrawer::DrawGLScene()中的gluLookAt()函数删除,在void CGLDrawer::OnSize(UINT nType, int cx, int cy) 中,加入gluLookAt()函数调用:void CGLDrawer::OnSize(UINT nType, int cx, int cy) { CWnd::OnSize(nType, cx, cy); // TODO: Add your message handler code here int w = cx,h = cy; glViewport(0,0,w,h); // 设置视口大小 glMatrixMode(GL_PROJECTION); glLoadIdentity(); //注意参数值的改变 gluLookAt(0.0f,0.0f,2.0f,0.0f,0.0f,0.0f,0.0f,1.0f,0.0f); // 采用90度视场角 gluPerspective(90.0f,(float)w/(float)h,0.1f,100.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } 我想在每次绘制的时候使用gluLookAt根据相机位置参数改变绘制的内容,所以把gluLookAt放到了绘制函数里面~为什么要把它放到OnSize中处理呢?我按照你的方法做了,可是当EyePos改变的时候相应的绘制内容并没有变化....请教! 我主要的问题就是绘制的时候有部分立方体显示不出来,好像被裁掉了一样,而且gluLookAt的参数改一下就什么都看不到了,很纳闷,立方体中心是位于原点的啊,改变视点位置,但是注视位置不变,怎么会看不到呢...附图 你是不是把OPENGL坐标系当成D3D了gluLookAt(0.0f,-2.0f,0.0f,0.0f,0.0f,0.0f,0.0f,1.0f,0.0f);应该放在模型变换前面吧 如何通过MFC来执行一个exe程序? CFile类在回调函数中连续写入的问题 如何制作一个 win32 的dll 并导出一个 my{}的导出函数!!求耐心的你 在写一个模拟提交表单的程序,有关中文的问题 上网究竟会留下甚么痕迹? 解析代码中的函数参数问题 关于键盘响应的问题 SDK下如何处理自定义的消息? BSTR AllocSysString ( ) const 中 const意义为何? 如何在对话框模板中添加一个CCheckList? 关于程序卡住,退出的问题 network programing for windows author A and J
gluLookAt()
函数删除,在void CGLDrawer::OnSize(UINT nType, int cx, int cy)
中,加入gluLookAt()函数调用:void CGLDrawer::OnSize(UINT nType, int cx, int cy)
{
CWnd::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
int w = cx,h = cy;
glViewport(0,0,w,h); // 设置视口大小
glMatrixMode(GL_PROJECTION);
glLoadIdentity(); //注意参数值的改变
gluLookAt(0.0f,0.0f,2.0f,0.0f,0.0f,0.0f,0.0f,1.0f,0.0f);
// 采用90度视场角
gluPerspective(90.0f,(float)w/(float)h,0.1f,100.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
为什么要把它放到OnSize中处理呢?我按照你的方法做了,可是当EyePos改变的时候相应的绘制内容并没有变化....请教!