基于OpenGL的视景仿真系统中纹理的应用.pdf

基于OpenGL的视景仿真系统中纹理的应用.pdf

ID:52970631

大小:187.72 KB

页数:3页

时间:2020-04-05

基于OpenGL的视景仿真系统中纹理的应用.pdf_第1页
基于OpenGL的视景仿真系统中纹理的应用.pdf_第2页
基于OpenGL的视景仿真系统中纹理的应用.pdf_第3页
资源描述:

《基于OpenGL的视景仿真系统中纹理的应用.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、622012年4月中国制造业信息化第41卷第7期基于OpenGL的视景仿真系统中纹理的应用陈玉军,张旭(江南计算技术研究所,江苏无锡214000)摘要:系统地介绍了OpenGL中纹理映射技术的概念、特点及工作流程,并结合实际视景仿真系统开发中的具体应用,深入剖析了纹理映射技术的应用方法和技术特点。采用OpenGL中的融合技术,大大地减少了编程工作量,提高了仿真图形的逼真度。关键词:OpenGL;真;纹理映射;融合中图分类号:TP391文献标识码:A文章编号:1672—161612012)07—0062—0

2、3纹理映射技术是OpenGL中广泛应用的一项序当中最常用的是二维纹理,OpenGL定义二维纹重要技术。传统几何造型技术只能表示景物的形理的函数为glTexlmage2D()。状,无法描述景物表面的微观细节,而利用纹理图1.2纹理的控制像来描述景物表面各点处的属性特征,一方面可以OpenGL中的纹理控制其实就是定义纹理如模拟景物表面丰富的纹理细节,提高计算机生成图何包裹物体的表面,因为纹理的外观总是与物体的形的真实性;另一方面,还可以通过把实际的模型外形不一致。在OpenGL中,控制纹理映射方式的外观纹理图

3、片粘贴至模型表面,大大地简化建模的函数是glTexParameter()l2l。过程,减少工作量。a.缩小与放大滤波。纹理映射技术是把二维的纹理图像映射到三纹理图像通常是正方形或者矩形,但是当被映维物体表面,其关键点就是建立物体空间坐标(z,射到曲面上或变换为屏幕坐标后,纹理的单个像素Y,2)与纹理空间坐标(S,t)之间的对应关系,利很难与屏幕上的像素对应,这样屏幕上的单个像素用纹理映射技术获得具有真实感效果的物体模型。可能对应于纹理中单个元素的一部分(放大滤波)或对应于纹理中多个元素(缩小滤波)。Ope

4、nGL1纹理映射的基本步骤对放大或缩小纹理提供了不同的滤波方式,这些滤OpenGL中的纹理图是一个图像,它通常是正波方式及其参数的设置会对图像质量产生影响(见方形或矩形的,纹理数据是一个矩形数组,它分别表1)。由R,G,B和A数值组成。在纹理数组中的单个表1不同滤波方式参数值下的图像质量值称为纹理元素,简称纹素。OpenGL中的纹理映椽蛊霎0penGL滤波参数数值射只能使用在RGBA模式下,其具体的工作流程如图1所示[1l。图1纹理映射流程图1.1纹理的定义在最简单的情况下,纹理是单个图像。如同大多数图像

5、一样,纹理通常是一维和二维的,在一些b.纹理重复和缩限。应用场合也使用三维纹理进行图形绘制,但在程纹理坐标一般定义在[0,1]的范围内,如果超收稿日期:2011—09—29作者简介:陈玉军(1979一),男,山西太原人,江南计算技术研究所工程师,主要研究方向为高性能计算机结构与冷却。·应用研究·陈玉军张旭基于OpenGL的视景仿真系统中纹理的应用63出这个范围,纹理映射可以在自己的坐标S,t方向glTexlmage2D(GL—TEXTURE一2D,0,3,image上进行重复(GL—REPEAT)和缩限(

6、GL—一>sizeX,image一>sizeY,0,GLRGB,GL——CLAMP)。UNSIGNEDBYTE,image一>data);—1.3纹理映射方式glTexParameteri(GL—TEXTURE一2D,GL—TEXTUREWRAPS,GLOpenGL中纹理映射方式主要有3种,都是通———CLAMP);过函数glTexEnv()调用相应的参数来实现,当参glTexParameteri(GLTEXTURE2D,GL数为GL—MODULATE时表示图像以透明方式贴TEXTURE—WRAP—T,G

7、L~REPEAT)j在物体的表面上,就像现实世界中将一张带有图案glTexParameteri(GL—TEXTURE一2D,GL—的透明纸贴在一个物体上一样。当参数为GL—TEXTURE—MAG—FILTER,GL—LINEAR);BLEND时则使用一个RGBA常量来融合物体原glTexParameteri(GL—TEXTURE一2D,GL—色和纹理图像的颜色。而最常用的是参数为GL—TEXTURE—MIN—FILTER,GL~LINEAR);DECAL的映射方式,即在物体上覆盖纹理图像,不glTexEn

8、vi(GLTEXTURE2D,GLTEX—让其下的任何物体颜色透过3。TURE—ENV一Ⅳ【CIDE,GL—DECAL);1.4纹理坐标glEnable(GL~TEXTURE一2D);纹理坐标同物体坐标一样,但为了同物体的坐}标,Y,和W区分开来,分别用s,t,r和q来表2.2读取纹理并绘制场景示,纹理坐标通常在[0,1]中,并且使用纹理坐标命在程序中导人了纹理数据以后,就可以通过设令函数glTexCoord()来指定纹理坐标

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。