毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
基于OpenGL光照模型的有效辐射计算(5)
2.1 几何建模
借助 OpenGL 可以绘制很多复杂、有趣的图形,但这些图形都是由几种基本
图元组成。而这些几何图元又都是用起顶点描述的:顶点坐标定义点本身、线段
的端点或多边形的角点。[21]
在 OpenGL 中,点、直线、多边形的含义与数学意义
上的点、直线、多边形有所区别。造成差别的原因主要是:一、计算机计算能力
上的局限性。计算机在处理浮点计算时,精度总是有限的。二、光栅图形显示器
的局限性。在显示器中,最小的单位是像素,这与数学中的无限小的点显然是不
一致的。在 OpenGL 中,术语直线指的是线段,而不是数学意义上的沿着两个方
向延伸到无穷远的直线。术语多边形指的是由一系列闭合线段环绕的区域,这些
线段由其端点处的顶点指定。绘制多边形时,通常填充其内部的像素。
3.1.1指定顶点
在 OpenGL 中,所有几何体最终都被描述为一个有序的顶点集合。要指定顶
点,可使用函数glVertex*()。函数的具体形式为:
Void glVertex{234}{sifd}[v](TYPE coords);
其中{}内表示选择参数,2、3、4代表描述顶点的坐标的文数,s、i、f、d代表数据类型,[]内表示可选参数,v 表示参数选用向量形式描述。此外,对于
glVertex的调用只能在glBegin 和glEnd之间进行。
3.1.2几何绘图图元
为了创建一系列的点、直线、多边形,需要在glBegin()和glEnd()之间指定
每组顶点。传递给 glBegin()的参数决定了根据这些顶点创建哪种几何图元。
OpenGL支持的几何图元如下表1所示:
表1 几何图元名称及意义
GL_POINTS 独立的点
GL_LINES 将每对顶点视为一条线段
GL_LINE_STRIP 一系列相连的线段
GL_LINE_LOOP 同上,同时在第一个和最后一个顶点间绘制线段
GLTRIANGLES 将每 3个顶点视为一个三角形
GL_TRAINGLE_STRIP 三角形条带
GL_ TRAINGLE_FAN 三角形扇
GL_QUADS 将每 4个顶点视为一个四边形
GLQUADS_STRIP 四边形条带
GL_POLYGON 简单的凸多边形
2.1.3法线向量
法线向量是垂直于表面的向量。在平面中,所有点的垂直方向相同,但在曲
面中,各个点的发现方向可能不同。在 OpenGL 中,可以指定每个多边形或者顶
点的法线。在同一多边形中,不同顶点的法线方向可能相同,也可能不同。此外,
不能再顶点以为的地方指定法线,否则会出现意想不到的结果。
物体的法线向量定义了其表面的朝向,具体说,是相对于光源的朝向。正确
设置法线对于渲染光线至关重要。要设置法线,可先使用函数 glNormal*(),这
样,接下来调用glVertex*()时,当前法线将被赋给指定的顶点。 综述所述,利用 OpenGL 中的基本图元以及 GLu、Glut 库中的高级绘制函数
可以实现对许多物体的几何建模。此外,在利用 OpenGL 几何建模时,需要注意
以下几点:
a) 确保多边形的方向(旋向)一致。确保从外面观察时,表面上所有多
边形的方向都相同(一般选择逆时针)。这一点对于渲染光照至关重要。
如果错误,会带来难以预料的错误。
b) 为实现高质量的图像,对图像实现细分建模是一个很好的选择。
c) 创建闭合曲面时,务必在闭合环的开始与结束处使用完全一致的坐标,
否则数值的舍入会导致缝隙和裂纹。
d) 几何建模过程中,需要区别好世界坐标系和窗口坐标系。
共6页:
上一页
1
2
3
4
5
6
下一页
上一篇:
基于电子倍增CCD的夜视图像重建算法
下一篇:
Windows下USB驱动程序的设计
基于Apriori算法的电影推荐
基于PageRank算法的网络数据分析
基于神经网络的验证码识别算法
基于网络的通用试题库系...
python基于决策树算法的球赛预测
基于消费者个性特征的化...
基于网络的通用试题库系统的整体规划与设计
承德市事业单位档案管理...
神经外科重症监护病房患...
C#学校科研管理系统的设计
公寓空调设计任务书
国内外图像分割技术研究现状
10万元能开儿童乐园吗,我...
医院财务风险因素分析及管理措施【2367字】
中国学术生态细节考察《...
AT89C52单片机的超声波测距...
志愿者活动的调查问卷表