以前的blogcn的blog废弃了。原因:贴出来的代码太难看,而且不易于维护。
所以在这里申请了个blog。但是一直很忙,所以没来得及照顾。
忙着实习所在公司的项目,忙着学习无奈的日语,忙着写毕业论文,忙着写我热爱的游戏引擎,忙着找工作,忙着偷闲使自己不忙着。。。。。。
最近终于有点时间了。毕业论文是关于3D游戏引擎的,由于最近把公司的项目做得差不多了,所以已经开始在写代码和论文了。
由于编写核心和框架时出现了一点问题,所以最后决定还是放弃DirectX的大部分功能模块特别是图形渲染,而使用上帝的恩赐——OpenGL,而使用DirectX的Audio和Input部分。毕竟OpenGL只是一个纯粹的图形API
性能
|
OpenGL
|
DirectX
|
顶点混合
|
不适用
|
支持
|
多操作系统
|
支持
|
不支持
|
可扩展机制
|
支持
|
支持
|
开发者
|
多成员委员会
|
Microsoft
|
严格的规范
|
有
|
无
|
双面光照
|
支持
|
不支持
|
体纹理
|
支持
|
不支持
|
设备无关的深度缓存
|
支持
|
不支持
|
累积缓存
|
支持
|
不支持
|
全屏反走样
|
支持
|
支持
|
运动模糊
|
支持
|
支持
|
场深度
|
支持
|
支持
|
立体绘制
|
支持
|
不支持
|
点尺寸/线宽属性
|
支持
|
不支持
|
拾取
|
支持
|
不支持,但有实用函数
|
参数曲线和曲面
|
支持
|
不支持
|
高速几何缓存
|
显示列表
|
顶点缓存
|
软件模拟
|
硬件不存在时
|
由应用程序决定
|
借口
|
程序调用
|
COM
|
更新
|
每年由(ARB)或扩展
|
每年更新
|
源代码公开
|
例程
|
Microsoft SDK
|
通过比较OpenGL和DirectX后,我决定
结合OpenGL和DirectX的优势来开发我的3D游戏引擎。并从中学习更多的关于OpenGL和DirectX的开发经验和知识。
目前还在考虑是否使用Tokamak或者Newton来作我的物理系统。如果有时间,还是想自己写~(我最大的梦想就是能做个像NFS那样的东东,或者参与。哎,夢はあくまでも夢!!!)
做游戏引擎真是不容易啊。不过我知道我的血液里面有游戏。加油吧~
最后来贴个目录,今天才交给老师,不知道会不会被骂,呵呵~~
不过我们老师也太残忍了。3月31日交目录,4月5日交初稿。要了亲命了~ -_-!
Abstract
摘要
目录
绪论
第一章 引言
1.1. 游戏引擎背景
1.2. 国内外发展状况
1.3. 研究与实现内容
第二章 总体设计
2.1. 引擎构架
2.2. 系统内子系统关系
2.3. 利用ZNode管理数据
2.4. 利用ZObject处理对象
第三章 引擎核心
3.1. Windows消息和设备输入的处理
3.1.1. 输入系统
3.1.2. ZEngine类
3.2. 游戏循环
第四章 视点与场景
4.1. 视点
4.2. 场景
4.3. 雾效
第五章 实体与模型
5.1. 3D模型文件格式
5.2. MD2文件
5.3. 模型的添加
5.4. 镜像
5.5. 阴影
第六章 音频系统
6.1. 利用DirectX Audio加载和播放音频
6.2. Audiopath的使用
6.3. 3D声音
第七章 粒子系统
7.1. 粒子
7.2. 粒子系统
第八章 物理系统
8.1. 物理学
8.2. 物理建模
8.3. 真实世界的模拟
第九章 引擎性能测试、分析及优化
9.1. 引擎测试
9.2. 性能分析
9.3. 优化措施
第十章 总结和展望
致谢
附录
地形数据的生成
模型文件的生成
参考文献
补充下:测试和优化打算用Intel和nVidia的工具。听说很好用,没用过,试试~
到此打住,有时间再继续发帖来讨论关于3D游戏引擎的细节。