摘要: 4.1摄像机与对象将三维图形系统形成图像的过程概念化的基本模式称为合成摄像机模型(syntheticcameramodel)。我们需要两个独立的实体:一个几何对象集以及这些对象的观察者。每个实体都可彼此独立地进行指定。将对象的规格和摄像机整合的过程称为投影(projection),该过程是由OpenGL在其流水线内部完成的。称为投影线(projector)的直线穿过图像中的每一点,并经过摄像机的光心(投影中心)。经过对象上某一点的投影线与焦平面的交点即为该点在图像中的投影点所在的位置。焦平面移到摄像机的前方,这就避免了由透镜引起的图像倒置。我们只需要指定摄像机和场景中的物体。OpenGL将在其 阅读全文
posted @ 2011-11-20 20:11 杨溪 阅读(2939) 评论(0) 推荐(0) 编辑
摘要: 2.7OpenGL和GLUT坐标系之间的差异对于二维问题,在OpenGL中,x轴和y轴的正方向分别为向右和向上。对于GLUT中使用的输入函数和窗口系统,x轴和y轴的正方向分别为向右和向下。当我们使用来自鼠标的输入时,需要同时考虑两种坐标系,这很容易产生混淆。2.17状态的保存OpenGL状态决定了图元的绘制方式。矩阵堆栈(matrixstack)可用来保存投影矩阵和模型矩阵。每种堆栈只能容纳相应类型的矩阵。可用函数glPushMatrix()和glPopMatrix()使矩阵入栈或出栈。所使用的矩阵由当前矩阵模式glMatrixMode(GL_MODELVIEW或GL_PROJECTON)决定 阅读全文
posted @ 2011-11-20 20:10 杨溪 阅读(911) 评论(0) 推荐(0) 编辑
摘要: 1.2关于OpenGL的三种观点1.2.1程序员的观点一般而言,大多数图形应用程序主要包括如下三要素:(1)制定绘制对象(2)描述对象的属性(3)定义这些对象被观察的方式虽然所有产生图形输入的程序必须包含以上三个要素,如果某个程序是交互式的,它还必须包含一些输入函数。最后,所有的程序必须具有一些针对本地操作系统和窗口环境的初始化和终止的函数。1.2.2OpenGL状态机将OpenGL看做是一个具有输入和输出地状态机。其中输入为几何对象的描述信息和离散对象,它们都是通过OpenGL函数调用来制定的。输出为一个离散图元的集合或构成图像的像素集合。在输入和输出之间,是一台能够获取对象的描述信息、并将 阅读全文
posted @ 2011-11-20 20:09 杨溪 阅读(1173) 评论(0) 推荐(0) 编辑