quake3源代码整体印象及基于其的开源引擎项目
2013-11-25 01:22
162 查看
总体而言 , quake 系列引擎的整体架构非常漂亮 , 是学习的好材料 。
并且从 quake1 到 quake3, 整体逻辑端代码变化不大 , 真正比较有突破性的是渲染引擎。
. 本人在学习 quake 引擎过程中常常敬佩卡马克的想象力 ,api 函数是如此之简洁 , 整体框架是如此之完美 , 面向对象的 c 写得如此之漂亮 。
通过 quake 引擎 , 可以学到游戏设计的各个概念以及各个模块 , 外部工具是如何完美的结合起来 , 这一点是非常非常重要的 .
QUAKE1 及其基于 QUAKE1 框架的扩展引擎 DARKPLACES
QUAKE2 及其基于 QUAKE2 框架的扩展引擎 QFUSION
QUAKE3 及其基于 QUAKE3 框架的扩展引擎 XREAL/EVQ3
这些扩展引擎都是非常著名的开源项目,资料比较多,而且都有相应使用这些扩展引擎作成的游戏,可以观看到游戏实时效果。
例如
基于 DARKPLACES 引擎的游戏 —NEXUIZ ,渲染效果极其惊人啊!!!
基于 QFUSION 引擎的游戏 -----WARSOW
基于 XREAL/EVQ3 引擎的游戏 -----REVOLUTION
A:DARKPLACES 使用 QUAKE1 的框架结构,重写了全部的渲染模块,网络协议以及传输模块 , 支持 DOOM3 类型的光影特效,根据我的感觉,应该是渲染效果最好的开源的项目,使用到了相当多的特效( DOOM3 光影特效 = Stencil Shadow Volume, Per Pixel Lighting, NormalizationCubeMap, 2D+1D Attenuation Texturing, and Light Projection Filtering ). 该引擎可以使用著名的QUAKEC进行服务器端游戏逻辑的开发(相当于QUAKE3中的GAME.DLL模块),同时相对于QUAKE1的QUAKEC内置函数,该引擎扩展了相当多的服务器端QUAKEC函数.更漂亮的是他同时扩展了客户端逻辑部分的函数,通过这些函数可以编写客户端游戏逻辑(相当于
QUAKE3中的CGAME.DLL模块,但不完全等同).事实上本人是非常喜欢QUAKEC的编码方式,简练而强大.
B:QFUSION 引擎最大的特点是他的逻辑结构非常清晰 , 他所扩展的骨骼动画系统是其最大的特点 . 本人的感觉是极其漂亮 ( 当然每个人的观点不同 , 这只是本人的观点罢了 ). 他使用了 skm 骨骼动画文件格式 . 正是通过该引擎的骨骼动画系统 , 让本人完全掌握整个骨骼动画的精髓 , 真是收益非浅啊 !!! 而且整个游戏逻辑端非常清晰 , 在代码分析时候主要以该引擎作为原代码基础 .
C:xreal/evq3 整体框架与 quake3 变化不大 , 但是最重要的一点是 , 本人最喜欢的渲染器结构是 quake3 的 render.dll, 简直是太完美了 ,quake3 的渲染器可以使用双处理器 , 为了支持双处理器的运作 ,quake3 自己实现了一条渲染命令流水线 , 及其完美 , 收益非浅啊 !!!! 又要说一句非常重要的话了 , 伟大的慷慨的卡马克 . 而引 xreal/evq3 擎完美的保留了 quake3 的渲染器框架结构同时扩展了较多的功能 , 光影特效足够强大 . 增加了
md5 骨骼模型的渲染
http://ioquake3.org
http://www.openarena.ws
http://xreal-project.net/
http://www.moddb.com/engines/qfusion
http://icculus.org/twilight/darkplaces/
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zlstone/archive/2009/10/10/4651271.aspx
并且从 quake1 到 quake3, 整体逻辑端代码变化不大 , 真正比较有突破性的是渲染引擎。
. 本人在学习 quake 引擎过程中常常敬佩卡马克的想象力 ,api 函数是如此之简洁 , 整体框架是如此之完美 , 面向对象的 c 写得如此之漂亮 。
通过 quake 引擎 , 可以学到游戏设计的各个概念以及各个模块 , 外部工具是如何完美的结合起来 , 这一点是非常非常重要的 .
QUAKE1 及其基于 QUAKE1 框架的扩展引擎 DARKPLACES
QUAKE2 及其基于 QUAKE2 框架的扩展引擎 QFUSION
QUAKE3 及其基于 QUAKE3 框架的扩展引擎 XREAL/EVQ3
这些扩展引擎都是非常著名的开源项目,资料比较多,而且都有相应使用这些扩展引擎作成的游戏,可以观看到游戏实时效果。
例如
基于 DARKPLACES 引擎的游戏 —NEXUIZ ,渲染效果极其惊人啊!!!
基于 QFUSION 引擎的游戏 -----WARSOW
基于 XREAL/EVQ3 引擎的游戏 -----REVOLUTION
A:DARKPLACES 使用 QUAKE1 的框架结构,重写了全部的渲染模块,网络协议以及传输模块 , 支持 DOOM3 类型的光影特效,根据我的感觉,应该是渲染效果最好的开源的项目,使用到了相当多的特效( DOOM3 光影特效 = Stencil Shadow Volume, Per Pixel Lighting, NormalizationCubeMap, 2D+1D Attenuation Texturing, and Light Projection Filtering ). 该引擎可以使用著名的QUAKEC进行服务器端游戏逻辑的开发(相当于QUAKE3中的GAME.DLL模块),同时相对于QUAKE1的QUAKEC内置函数,该引擎扩展了相当多的服务器端QUAKEC函数.更漂亮的是他同时扩展了客户端逻辑部分的函数,通过这些函数可以编写客户端游戏逻辑(相当于
QUAKE3中的CGAME.DLL模块,但不完全等同).事实上本人是非常喜欢QUAKEC的编码方式,简练而强大.
B:QFUSION 引擎最大的特点是他的逻辑结构非常清晰 , 他所扩展的骨骼动画系统是其最大的特点 . 本人的感觉是极其漂亮 ( 当然每个人的观点不同 , 这只是本人的观点罢了 ). 他使用了 skm 骨骼动画文件格式 . 正是通过该引擎的骨骼动画系统 , 让本人完全掌握整个骨骼动画的精髓 , 真是收益非浅啊 !!! 而且整个游戏逻辑端非常清晰 , 在代码分析时候主要以该引擎作为原代码基础 .
C:xreal/evq3 整体框架与 quake3 变化不大 , 但是最重要的一点是 , 本人最喜欢的渲染器结构是 quake3 的 render.dll, 简直是太完美了 ,quake3 的渲染器可以使用双处理器 , 为了支持双处理器的运作 ,quake3 自己实现了一条渲染命令流水线 , 及其完美 , 收益非浅啊 !!!! 又要说一句非常重要的话了 , 伟大的慷慨的卡马克 . 而引 xreal/evq3 擎完美的保留了 quake3 的渲染器框架结构同时扩展了较多的功能 , 光影特效足够强大 . 增加了
md5 骨骼模型的渲染
http://ioquake3.org
http://www.openarena.ws
http://xreal-project.net/
http://www.moddb.com/engines/qfusion
http://icculus.org/twilight/darkplaces/
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zlstone/archive/2009/10/10/4651271.aspx
相关文章推荐
- quake3源代码整体印象及基于其的开源引擎项目
- quake3源代码整体印象及基于其的开源引擎项目
- quake3源代码整体印象及基于其的开源引擎项目
- 基于Ionic+Cordova+Bmob的开源项目实战
- 基于C#的开源GIS项目介绍之SharpMap篇
- 基于SyncML的funambol dm开源项目的改造应用(三) - 实际项目介绍
- 论坛开源项目推荐(12月19日):低内存耗用的音频流播放引擎-FreeStreame 命令行工具-appledoc
- 基于ExtAspNet的开源项目 - Ext4JSLint
- 项目视频讲解_国内首部基于JBPM5.4实战流程引擎开发(动态表单、模板引擎、公文管理系统)
- 整体了解HADOOP框架及一些开源项目
- 基于开源项目SharpMap的热力图(HeatLayer)实现。
- 整体了解hadoop框架及其开源项目
- 基于开源项目的WebApp开发
- 基于 CodeIgniter 的各类开源项目大全
- 基于 Spring MVC 的开源项目,方便黑盒测试的测试管理系统
- 基于nopcommerce b2c开源项目的精简版开发框架Nop.Framework
- 基于.NET 2.0的GIS开源项目SharpMap分析手记(九):SharpMap中Styles和Geometries名称空间下有关类的分析
- 经典开源项目介绍(游戏、游戏引擎、通用组件)
- 基于淘宝开源Tair分布式KV存储引擎的整合部署
- 基于.NET 2.0的GIS开源项目SharpMap分析手记(十二):SharpMap WMS服务及其Openlayers访问