论文部分内容阅读
2D图形引擎作为2D游戏引擎中最重要的一个模块,对2D游戏引擎的开发来说是至关重要,图形引擎的功能就是负责游戏画面的实时渲染操作,它的强大与否直接决定着最终的输出质量,因此可以说,一款好的游戏引擎不可能没有一款好的图形引擎。
游戏引擎在游戏开发中起着关键性的作用,如同汽车发动机在汽车制造中的作用一样,游戏引擎是游戏开发中最核心最重要的部分,它具有很强的重用性、独立性、通用性。而图形引擎就相当于汽车引擎之驱动力,若没有强大的驱动力,即使引擎做的再花哨、功能多么完善,也不可能推动汽车的运行,图形引擎相对于游戏引擎也即如此。
一款好的游戏引擎应该是可以将图形引擎单独提取出来并可以以其他图形引擎代替之,因此好的图形引擎也应具有好的移植性。
好的图形引擎可以非常方便的移植到其它游戏引擎中,缩短游戏引擎的开发周期,从而极大的缩短游戏开发周期,提高游戏开发的效率。图形引擎开发涉及到数学,几何变换知识,尤其是矩阵、向量等理论知识。
本文通过对游戏开发工具和2D图形基础的研究上设计并开发2D游戏引擎中图形模块,并力图使其可应用于一般应用程序的开发,提高一般图形应用程序的开发效率以及绘图的执行效率,本文主要内容分为以下几个部分:
第一部分:对DirectX8.0 SDK(Software Development Kit)开发包中的DirectDraw进行讲解,并详细叙述了DirectDraw涉及到的基本图形知识和使用流程。
第二部分:2D基础知识的讲解。对基本几何体的组成及绘制进行了说明,并给出了绘制算法,并给出了几何体的基础构成元素直线的改进算法-反走样算法,提高了绘制效果。同时对2D游戏中经常使用的基本特效技术进行了说明,如平移、旋转、缩放、像素混合(Alpha Blending)等。其中像素混合是构成2D粒子系统的基础,如雾、火焰、光影效果等。在讲解完基本原理后都给出了原算法程序和效果图。
第三部分:文字系统。本文使用点阵字库文件进行屏幕文字输出,在讲解完汉字内码原理、点阵字库文件的构成和点阵文字的显示原理后,给出了汉字的点阵显示改进代码。同时完成了其他论文没有讲解的英文点阵文字字模信息的提取方法和显示代码。最后给出了点阵文字显示效果图。
第四部分:图形引擎的实现。本部分首先说明了图形引擎处的位置,然后给出了图形引擎的整体架构图以及内部类关系图,最后对各个类的功能作用进行了讲解并给出了图形引擎使用的例子代码。
以上是本文完成的主要工作,同时本文分析了游戏引擎技术发展的基本情况以及当前国内外现状,文章最后提出了下一步的工作内容。