3D游戏引擎编写(3)--quake3代码分析笔记(1)

 

(所有笔记没有整理,涂鸦式记录,全部完成后整理成文档。)

一、quake3编译和调试环境搭建

1. 安装quake3 III Area,升级到1.32,有些机器不升级到1.32无法运行

2. 下载quake3-1.32b 源代码

3. 安装visual studio 2008(我用2008,vc6就可以)

4. 安装directx9.0c(quake3是纯OpenGL,为什么需要directx,目前还不清楚,以后再研究)

5. 拷贝 quake3 III Area 的baseq3(资源文件,包括模型,贴图等)到code目录下。

6. 打开code/quake3.sln编译下列项目

1. quake3 主项目,也是唯一的执行程序,程序主入口。编译后生成quake3.exe文件

修改项目属性,将exe文件生成在code目录下

2. q3_ui UI模块,编译后生成uix86.dll

将文件生成在baseq3目录下

3. cgame 客户端游戏模块,编译后生成 cgamex86.dll

将文件生成在baseq3目录下

4. game 服务端游戏模块,编译后生成qagamex86.dll

将文件生成在baseq3目录下

5. renderer 渲染模块,生成renderer.lib,被其他项目静态包含

6. splines 目前没有研究过做什么用

5. ui 新的ui模块目前没用

7. 编译工具项目

1. lcc quakeC编译工具

2. qasm qvm生成工具

3. q3map map编译工具(目前没用过)

4. q3radiant map编写工具,需要.prj文件,目前不会用

8. 在quake3中uix86.dll,cgamex86.dll,qagamex86.dll可以编译成.qvm方式。

编译方式:设置lcc,qasm等执行文件的目录,运行各自目录下的bat文件即可,

如:q3_ui/q3_ui.bat会在/quake3/baseq3/vm/ui.qvm文件。

注:qvm和dll区别,

qvm是quake中的一个虚拟机类似于jvm,在qvm中的程序不能有所限制,安全性好。

baseq3/q3config.cfg中的seta vm_ui "0" 配置项是控制采用加载dll还是qvm。

编译完成,可以调试跟踪项目了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值