用OpenGL开发三维交互式虚拟场景

时间:2025-05-03

用OpenGL开发三维交互式虚拟场景

第20卷第8期2000年8月

文章编号:1001-9081(2000)08-0038-03

计算机应用ComputerApplications

Vol.20,No.8Aug.,2000

用OpenGL开发三维交互式虚拟场景

谢志鹏,陈锻生

(国立华侨大学计算机科学系,福建泉州362011)

摘 要:介绍了MsWindows环境下OpenGL的体系结构和工作原理,深入剖析了用VisualC++开发真实感3D实时虚拟场景时采用的技术特点,并构造了两个可重用和继承的类 纹理贴图和画面输出保存的设备无关位图类以及初始化OpenGL工作环境并正确设置调色板的视图类,在此基础上设计了一个模拟3D射击游戏。

关键词:OpenGL图形库;MFC;纹理贴图;显示列表;矩阵堆栈中图分类号:TP391.41 文献标识码:A

DEVELOPING3DINTERACTIVEVIRTUALSCENEBYOPENGL

XIEZhi peng,CHENDuan sheng

(DepartmentofComputerScience,NationalHuaqiaoUniversity,QuanzhouFujian,362011,China)Abstract:ThispaperintroducethearchitectureandprincipleofOpenGLunderWindowsEnvironment,

andanalyzethetechnicalfeaturesadoptedwhendevelopingthe3Drealtimevirtualscene,furthermoreconstructtwoclasses theDIBclassfortexturemappingandscreensave,theViewclassforinitializingtheOpenGLworkingspaceandthepalette,finallyasimulated3dshootinggamewaspresented.

Keywords:OpenGLGraphicsLibrary;MFC;texturemapping;displaylist;matrixstack

1 OpenGL工作原理

OpenGL作为专业三维图形加速卡的软件接口,由几百条函数组成,允许程序员对二维或三维几何

形体进行描述,并将它们绘制(Render)到3D图形加速卡的帧缓存(Framebuffer)。图1描绘了OpenGL

的工作流程。

图1

由上可见,OpenGL能处理几何体及图像,它用顶点集合定义几何形体、以象素集合表示图像。

对于几何形体,如NURBS曲面,OpenGL向评价器(Evaluator)输入控制点和节点序列以产生曲面顶点坐标,对顶点坐标执行操作。如计算光线和法向量、颜色等,随后把该顶点系列描述的近似几何形体剪切到观察体(Frustum)中并进行光栅化(Rasterization)以产生一系列帧缓存地址和图元的二维描述值,称为基片,对基片进行操作,如根据深度值更新帧缓存以及颜色融合,淡化等。由此产生一

系列象素值,送入帧缓冲区中。

此外,OpenGL也可处理图像象素,并可通过纹理映射把图片贴到几何形体表面。

2 Windows环境下OpenGL处理流程

OpenGL指令解释模型是Client/Server模式,即一个应用程序(客户)发出指令,由OpenGL内核(服务器)解释执行。在Win9x/NT环境下,OpenGL库函数封装在动态链接库OpenGL32.DLL中,客户程序对OpenGL库函数的调用首先被OpenGL32.DLL处理,

收稿日期:2000 02 29

作者简介:谢志鹏(1972-),男,福建晋江人,硕士研究生,主要研究方向:图形图像处理; 陈锻生(1959-),男,福建泉州人,副教授,主要研究方向:图像处理与多媒体系统.

用OpenGL开发三维交互式虚拟场景.doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219