3D游戏引擎设计与实现(1)
当写这个标题时,心里想:有可能实现出来吗?现在抱着学习与实践态度,只要去努力,肯定会有收获的。费话少说,下面就开始把自己的想法先写出来,因为有目的而来,从来不打没有准备的仗。
在进行这个项目之前,肯定先去学习一下什么叫Computer graphics,就是计算机图像,它跟图像处理是大的不同,因为它是研究怎么样生成图像,而图像处理主要图像压缩存储等。除了这个之后,还要学习一点线性代数和空间解析几何。有这些基础之后,就可以去看看DirectX的例子,看看什么是3D,在计算机怎么样表示3D物体,当然要了解复杂的光照,还需要物理知识等。
我设计这个3D游戏引擎,主要实现很简单的功能,细节的东西目前先不用考滤,因为开发过程是迭代的,不可能第一次就开发一个完美的引擎,也不可能一下子完成。先选择合适平台、开发工具和设计大体架构。这里我选择主要是Windows平台,并且3D的API就选择DirectX,目前不支持OpenGL。开发工具就用VS 2003.net中文版,因为它支持C++达到98%,这样可以完全使用C++的性能,面向对象的设计,模板方式重用代码。架构设计取用模块式设计,采用COM方式的DLL实现,这样可以把每个模块开发来,达到代码最大化的重用。
现在总结一下目标是什么,如下:
l 平台:Windows平台
l 3D API: DirectX
l 开发工具:VS 2003.net中文版
l 架构:COM方式的DLL
还有很多东西没有想到,等着后面更进一步的设计。