有关引擎架构的一些总结

来源:互联网 发布:汽车租赁管理系统java 编辑:程序博客网 时间:2024/04/20 06:12

 

游戏的引擎可比作赛车的引擎,而引擎是赛车的心脏,决定着赛车的性能和稳定性,赛车的速度、操纵感这些直接与车手相关的指标都是建立在引擎的基础上的。游戏也是如此,简单地说,游戏引擎就是用于控制所有游戏功能的主程序。

关于引擎架构方面,我们可以把引擎里的各个类封装成一个类库,再在客户端的项目里引入这个库文件,即可方便地调用类库里实现各个类的具体操作。一般引擎应包括哪些类了?在我做的一个渲染引擎中,有摄像机,D3D系统,声音,字体,输入系统,模型,拾取,地形,四叉树,水等,还设计了一个App类,负责场景的信息处理。可在客户端设计一App的派生类GameApp,同时把场景类Scene作为GameApp的成员,通过在App设计相关的虚拟函数,则可实现在GameApp运用虚函数处理实际场景的信息。

现讨论一下作为引擎的类库的项目属性的设置。

一:新建项目时应选取项目类型为类库。

二:在项目属性窗口里,设置配置类型为静态库

三:在项目属性窗口里,配置属性---C/C++---预编译头,设置为创建预编译头

四:分别设置Debug版本和Release 版本的工作目录,输出目录等。

再设置客户端的项目属性,引入引擎类库。

一:在项目属性窗口里,配置属性---链接器---常规---设置附加库目录为引擎生成的类库文件(lib文件)所在目录。

二:在项目属性窗口里,配置属性---链接器---输入---附加依赖项,加入引擎生成的类库。

三:若出现有关默认库MSVCRTD与其他库的使用冲突“的错误信息,则在项目属性窗口里,配置属性---链接器---输入---忽略特定库里输入libcmtd.lib(Debug)/ libcmt.lib(Release)

四:在项目属性窗口里,配置属性---C/C++---预编译头,设置为创建预编译头

五:分别设置Debug版本和Release 版本的工作目录,输出目录等。

在实际操作中,应先编译生成引擎的类库,再编译并运行客户端的程序。

原创粉丝点击