opengl for windows nt及其程序设计的论文

opengl for windows nt及其程序设计的论文

ID:9743405

大小:58.50 KB

页数:4页

时间:2018-05-07

opengl for windows nt及其程序设计的论文_第1页
opengl for windows nt及其程序设计的论文_第2页
opengl for windows nt及其程序设计的论文_第3页
opengl for windows nt及其程序设计的论文_第4页
资源描述:

《opengl for windows nt及其程序设计的论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、OpenGLforWindowsNT及其程序设计的论文opengl是在sgi、microsoft、dec、ibm和intel等多家世界著名计算机公司的倡导下,基于sgi的gl标准,制定的一个通用共享的开放式三维图形标准。前几年,opengl虽然是开放式的标准,但是只能在具有unix操作系统的各种昂贵的工作站之间通用;尽管工作站上的opengl性能优越、编程方便、生成图形精美逼真,但是只有少数人能体会其中乐趣,而令大多数pc机用户望尘莫及。随着计算机技术的发展,工作站与pc机的性能日趋接近。microsoft公司首先将opengl图形库链接到9

2、0以上、16mbram、520mb以上硬盘容量的pc机以及一台43cm以上的大屏幕监视器和一块opengl三维图形加速卡组成的系统,就能与图形工作站相媲美,但价格却便宜数十倍。本文作者一直从事计算机图形应用开发工作。原来是在sgi工作站上利用opengl开发图形程序,后来又首先在国内第一块三维图形加速卡agc-3d上基于ittedlight)、环境光(ambientlight)、漫反射光(diffuselight)和镜面光(specularlight)。材质是用光反射率来表示。场景(scene)中物体最终反映到人眼的颜色是光的红绿蓝分量与材质

3、红绿蓝分量的反射率相乘后形成的颜色。(5)纹理映射(texuremapping)利用opengl纹理映射功能可以十分逼真地表达物体表面细节。(6)位图显示和图像增强图像功能除了基本的拷贝和像素读写外,还提供了融合(blending)、反走样(antialiasing)和雾(fog)的特殊图像效果处理。(7)双缓存(doublebuffering)动画双缓存即前台缓存和后台缓存,简而言之,后台缓存计算场景、生成画面,前台缓存显示后台缓存已画好的画面。此外,利用opengl还能实现深度暗示(depthcue)、运动模糊(motionblur)等特

4、殊效果。二、openglforats)和双缓存。由于它们是对atdescriptor的结构来表示某个特殊的像素格式,这个结构包含26个属性信息。atdescriptor如下所示:typedefstructtagpixelformatdescriptor{bits;bytecaccumredbits;bytecaccumgreenbits;bytecaccumbluebits;bytecaccumalphabits;bytecdepthbits;bytecstencilbits;bytecauxbuffers;byteilayertype;by

5、tebreserved;dask;dask;dagemask;}pixelformatdescriptor,*ppixelformatdescriptor,far*lppixelformatdescriptor;(2)初始化pixelformatdescriptor结构pixelformatdescriptor中每个变量值的具体含义和设置可以参考有关资料,下面举出一个pixelformatdescriptor初始化例子来简要说明相关变量的意义。定义pixelformatdescriptor结构的pfd如下:pixelformatdescrip

6、torpfd={sizeof(pixelformatdescriptor),//结构尺寸l,//结构版本pfd-draain-plane,//主层类型0,//保留结构数0,0,0,//不支持结构数};在这个结构里,前两个变量的含义十分明显。第三个变量dalphabits都设置为0;深度缓存设置为32位,这个缓存能解决三维场景的消隐问题;变量cauxbuffers设置为0,在ain-plane,但其他平台也许支持pfd-overlay-plane或pfd-underlay-plane;接下来breserved变量只能设为0,而最后三个变量atd

7、escriptor结构后,就要设置像素格式。下面几段从vc++2.0的mfc程序中摘出的代码就是设置像素格式的方式。代码如下:cclientdcclientdc(this);intpixelformat=choosepixelformat(clientdc.m-hdc,pfd);boolresult=setpixelformat(clientdc.m-hdc,pixelformat,pfd);第一行语句说明得到一个应用窗口客户区的设置描述表。第二行调用choosepixelformat()选择一个像素格式,并将像素格式索引号返回给pixelf

8、ormat变量;函数中第一个参数是选择像素格式的设置描述表的句柄,第二个参数是pixelformatdescriptor结构的地址。如果调用失败则返回0;否则返回像

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

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

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