关闭

gluPerspective注意事项

214人阅读 评论(0) 收藏 举报
分类:

void gluPerspective ( GLdouble fovy,  GLdouble aspect, GLdouble zNear, GLdouble zFar);

fovy为视场角度,角度越大,模型在窗口中显示出来越小,反之越大。

ZNear为视景体近平面距离照相机的距离,必须大于0,一般设为0.1,这样可以在很近的距离观察模型的细节.

ZFar为视景体远平面距离相机的距离,必须大于0.

视景体之外的物体均被裁减掉,不进行渲染。


今天(2016.11.28)又在这个函数这遇到坑了,发文纪念:

void gluPerspective ( GLdouble fovy,  GLdouble aspect, GLdouble zNear, GLdouble zFar),这次栽倒到了第二个函数 GLdouble aspect上,代码如下:

gluPerspective(45.0f, rect.Width()/ rect.Height(), 0.1f, 10000.0f);

Width()和Height()函数返回值均为int类型,所以当rect.Width()小于rect.Height()时,表达式的值为!这就坑了,所以不能这么写,而要这么些:

gluPerspective(45.0f, rect.Width()*1.0 / rect.Height(), 0.1f, 10000.0f);
本来程序在台式机上没有问题的,但是拿到笔记本上就显示不了了,真是莫名其妙啊,同样的代码怎么回事,一开始还以为是显卡,系统,MFC的原因,结果呢,呵呵,自己代码写的不严谨,还是那句话,计算机不会骗人,多多反思自己的程序。


0
0
查看评论

解密--神秘的gluPerspective

在前段时间的OpenGL平面坐标与世界坐标的互转博文中,了解了世界坐标worldCoord向相机坐标系转换方法,相机坐标如何获得投影坐标,投影坐标如何转换屏幕坐标,我们已经很清楚啦。可是有时我们下面代码: // 设置投影矩阵 glMatrixMode(GL_PROJECTION); glL...
  • zhouschina
  • zhouschina
  • 2013-11-19 12:42
  • 2784

OpenGL之gluPerspective浅析

gluPerspective是OpenGL中的一个函数。 函数的原型 gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar); fovy:视角的大小。什么是视角?视景体到视线原点之间所成的上下角度。 ...
  • huai814586181
  • huai814586181
  • 2015-05-22 15:54
  • 1834

gluPerspective(解释得很好)

gluPerspective(解释得很好) 函数原型 gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear,GLdouble zFar) 首先得设置gluPerspective,来看看它的参数都表示什么意思 fovy,...
  • andywu24
  • andywu24
  • 2014-12-31 14:30
  • 236

Qt调用gluPerspective()函数时出现undefined reference to `gluPerspective'错误

ubuntu: test.cpp:(.text+0x2ec): undefined reference to `gluPerspective' 解决办法: 1.  sudo apt-get install  freeglut3-dev ...
  • SprintfWater
  • SprintfWater
  • 2013-03-11 11:06
  • 6106

gluPerspective的具体含义

OpenGL有两种投影:正射投影(垂直tou'ying)
  • tyxkzzf
  • tyxkzzf
  • 2014-11-08 17:24
  • 5616

glOrtho与gluPerspective比较

前面写了几篇关于投影的文章,这篇就稍微总结一下吧~~~     这次就不上那两幅图了,直接说,首先两个都必须配合gluLookAt函数用,不用它,没啥意思。如果在glOrtho里面用它的话,只能改变视景体的位姿,不能改变物体在视觉上的大小,因为是正投影。那么问题就来了,怎么改变...
  • trustguan
  • trustguan
  • 2015-03-01 10:19
  • 821

QT gluPerspective 报错

添加库的解决办法 接口函数互换的解决办法 原理分析添加库的解决办法在一些系统平台, 由于版本或者系统原因,出现找不见gluPerspective的错识。 这主要是由于缺少glut模块的原因, 在网上有一些直接添加对应动态库, 静态库和头文件 的方法, 可以通过 http://download.cs...
  • li235456789
  • li235456789
  • 2016-04-06 00:32
  • 1376

glFrustum()和gluPerspective()详解

1、void glFrustum(GLdouble left,GLdouble Right,GLdouble bottom,GLdouble top,GLdouble zNear,GLdouble zFar); left,right       表示近平面左右两边相...
  • bladeandmaster88
  • bladeandmaster88
  • 2017-02-28 11:56
  • 761

OpenGL透视投影gluPerspective

透视投影(Perspective Projection)void gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear, GLdouble zFar);其操作是创建一个对称的透视投影矩阵,并且用这个矩阵乘以当前矩阵。参数fovy定义视...
  • hbuxiaoshe
  • hbuxiaoshe
  • 2009-12-23 15:03
  • 12825

(5)gluLookAt、glViewport()、glOrtho和gluPerspective参数分析

记性不好 ,学习opengl的时候,总是忘记视口和投影变换函数配合时需要注意的地方,导致窗口内看不到三维物体。所以写在这以方便提醒自己。 一、 gluLookAt和投影      void gluLookAt(GLdouble eyex,GLdou...
  • ysu341341
  • ysu341341
  • 2016-08-30 17:04
  • 355
    个人资料
    • 访问:137975次
    • 积分:2222
    • 等级:
    • 排名:第19961名
    • 原创:60篇
    • 转载:137篇
    • 译文:0篇
    • 评论:6条
    最新评论