opengl for windows nt及其程序设计

opengl for windows nt及其程序设计

ID:25352563

大小:54.00 KB

页数:4页

时间:2018-11-19

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图形库链接到BR

2、AM、520MB以上硬盘容量的PC机以及一台43cm以上的大屏幕监视器和一块OpenGL三维图形加速卡组成的系统,就能与图形工作站相媲美,但价格却便宜数十倍。本文作者一直从事计算机图形应用开发工作。原来是在SGI工作站上利用OpenGL开发图形程序,后来又首先在国内第一块三维图形加速卡AGC-3D上基于apping)利用OpenGL纹理映射功能可以十分逼真地表达物体表面细节。(6)位图显示和图像增强图像功能除了基本的拷贝和像素读写外,还提供了融合(Blending)、反走样(Antialiasing)和雾(fog)的特殊图像效果处理。(7

3、)双缓存(DoubleBuffering)动画双缓存即前台缓存和后台缓存,简而言之,后台缓存计算场景、生成画面,前台缓存显示后台缓存已画好的画面。此外,利用OpenGL还能实现深度暗示(DepthCue)、运动模糊(MotionBlur)等特殊效果。二、OpenGLforask;}PIXELFORMATDESCRIPTOR,*PPIXELFORMATDESCRIPTOR,FAR*LPPIXELFORMATDESCRIPTOR;(2)初始化PIXELFORMATDESCRIPTOR结构PIXELFORMATDESCRIPTOR中每个变量值的

4、具体含义和设置可以参考有关资料,下面举出一个PIXELFORMATDESCRIPTOR初始化例子来简要说明相关变量的意义。定义PIXELFORMATDESCRIPTOR结构的pfd如下:PIXELFORMATDESCRIPTORpfd={sizeof(PIXELFORMATDESCRIPTOR),//结构尺寸l,//结构版本PFD-DRAAIN-PLANE,//主层类型0,//保留结构数0,0,0,//不支持结构数};在这个结构里,前两个变量的含义十分明显。第三个变量dAlphaBits都设置为0;深度缓存设置为32位,这个缓存能解决三维

5、场景的消隐问题;变量cAuxBuffers设置为0,在ATDESCRIPTOR结构的地址。如果调用失败则返回0;否则返回像素格式索引号。第三行调用SetPixelFormat()设置像素格式,三个参数分别是设备描述表的句柄、像素格式索引号和PIXELFORMATDESCRIPTOR结构的地址。如果调用成功则返回TURE;否则返回FALSE。3.创建图形操作描述表正如前所述,必须创建图形操作描述表并启用它后,才能调用OpenGL函数在窗口内进行各种图形操作。一般说来,利用MFC中增补的管理图形操作描述表方法来编程比较方便。下面举一例:int

6、CopenglVieberPFD-DRAAIN-PLANE,//mainlayertype0,//reserved0,0,0//unsupported};CClientDCclientDC(this);intpixelFormat=ChoosePixelFormat(clientDC.m-hDC,pfd);BOOLresult=SetPixelFormat(clientDC.m-hDC,pixelFormat,pfd);m-hRC=-hRC);return0;}voidCOpenglVieent();ASSERT-VAILD(pDoc);

7、//TODO:adddra-hDC,m-hDC);Dra-hDC,NULL);}voidCOpenglVieessagehandlercodehere-hRC);}在程序中,响应-CREATE消息的函数OnCreate()仅仅只创建一个临时的DC,当函数返回时,它自动删除。因此,在这里不可能启用图形操作描述表。当应用程序的窗口内容得到更新后,MFC就调用OnDra.

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

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

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