OpenGL
wangqinghao
这个作者很懒,什么都没留下…
展开
-
OpenGL投影变换小结
投影变换是一种很关键的图形变换,OpenGL中只提供了两种投影方式,一种是正射投影,另一种是透视投影。不管是调用哪种投影函数,为了避免不必要的变换,其前面必须加上以下两句: glMAtrixMode(GL_PROJECTION); glLoadIdentity();事实上,投影变换的目的就是定义一个视景体,使得视景体外多余的部分裁剪掉,最终图像只是视景体内的有关部分。本节将转载 2013-04-11 15:25:04 · 1100 阅读 · 0 评论 -
深度缓冲区原理以及为什么要用它
1.在开始介绍深度缓存之前,先了解一下隐藏表面消除。 隐藏表面消除(hidden-surface removal)就是消除实心物体被其他物体所遮挡的那部分。实现隐藏表面消除最简单方法就是使用深度缓冲区(又叫Z缓冲区)。2.深度缓冲区原理 深度缓冲区原理就是把一个距离观察平面(近裁剪面)的深度值(或距离)与窗口中的每个像素相关联。 首先,使用glClear(GL_转载 2013-08-19 20:53:44 · 5481 阅读 · 0 评论 -
opengl中glPushMatrix()he glPopMatrix()用法小结
OpenGL中图形绘制后,往往需要一系列的变换来达到用户的目的,而这种变换实现的原理是又通过矩阵进行操作的。opengl中的变换一般包括视图变换、模型变换、投影变换等,在每次变换后,opengl将会呈现一种新的状态(这也就是我们为什么会成其为状态机)。 有时候在经过一些变换后我们想回到原来的状态,就像我们谈恋爱一样,换来换去还是感觉初恋好,怎么办?强大的opengl就帮我们提原创 2013-08-17 11:56:13 · 4410 阅读 · 1 评论 -
error C2381: “exit” : 重定义;__declspec(noreturn) 不同
编译OpenGL Red Book 的例子时出现错误,stdlib.h(406) : error C2381: “exit”: 重定义;__declspec(noreturn) 不同 glut.h(146) : 参见“exit”的声明 解决方法:#include #include转载 2013-10-29 15:10:05 · 1568 阅读 · 0 评论 -
OpenGL 模型视图变换、投影变换、视口变换
产生目标场景的过程类似于用照相机进行拍照:(1) 把照相机固定在三角架上,并让他对准场景从不同位置观察场景(视图变换) gluLookAt(2) 对场景进行安排,使各个物体在照片中的位置是我们所希望的 移动,旋转或者放大缩小场景中的物体(模型变换) glTranslate* ,glRotate* ,glScale*(3) 选择照相机镜头,并调整放大倍数(调焦原创 2013-10-30 15:03:09 · 2651 阅读 · 0 评论 -
gluLookAt 函数详解
void gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez, GLdouble centerx,GLdouble centery,GLdouble centerz, GLdouble upx,GLdou原创 2013-11-01 15:41:58 · 28561 阅读 · 7 评论