Cafu 引擎介绍

转载 2011年01月23日 14:54:00

blankcafu-10

该Cafu(“卡福”)引擎是一个全功能,现代化的3D图形引擎和游戏开发工具包,功能齐全,让您快速入门。

Cafu在GNU通用公共许可(GPLv3)下,对所有人都是100%免费的软件。它可用于创建各种3D应用软件 ,包括游戏模拟 ,以及培训建筑 。 所有工具均使用C++编写,所有库和框架使新的游戏和3D应用程序易于开发。 它们正活跃而持续地发展着,以提供最新的技术。

1f-guisys

2e-cawe

1d-outdoor

2a-indoor

 

 wax_fire_64

其主要功能包括

  • 高品质,实时的一个非常强大和灵活的材质系统的三维图形,
  • 跨平台和跨编译器的可移植性,
  • 内置用于开发多玩家互联网和局域网游戏的快速的网络代码,
  • 动态逐像素光照和阴影,兼具正确的物理辐射度。
  • 非常大的地形渲染,骨骼模型的渲染,
  • 一个强大的三维音效的音响系统,
  • 使用强大的Lua语言编写地图脚本、实体脚本和GUI脚本。
  • 在GPL下或在根据你的需求而调整的自定义许可下免费使用。

 

功能列表

 

3D渲染和材质系统特性

  • matsys2 (1)新的 材质系统 处理所有渲染
  • (2)主要的MatSys(材质系统)组件有Renderers(渲染器), Materials(材质), 以及Shaders(着色器).
  • (3)通过易于理解的材质脚本,所有的材质皮肤属性可以用 mappertexture artist 来控制。

  • 也就是说,一旦地图或模型完成,任何材质的构成、透明、滤光、调节、混合、反射以及所有其它属性,都是可以修改的。即便引擎正在运行也是如此!

  • hw_ati hw_nvidia
  • (4)设计将适应几乎任何东西:
    • 操作系统: Windows, Linux, MacOS, Pocket PC, Palm, DOS, ...
    • APIs: OpenGL 1.2 to 2.0, DirectX 7 to 9, Cg, GLSL, Mesa, 软件渲染器等, ...
    • 硬件: NVidia, ATI, 3Dlabs, 控制台, ...
  • Cafu 演示包 目前包括完整的Windows 和Linux平台的渲染器集合:
    • OpenGL 1.2 (mostly used as fall-back renderer for the Cafu demo),
    • Cg with fp20/vp20 profile (for NV2X and higher GPUs),
    • Cg with arbvp1/arbfp1 profile (for NV3X and higher GPUs),
    • OpenGL 1.4+ extended with ARB vertex/fragment program (all modern GPUs from ATI, NVidia and others), and
    • a "Null" renderer that is useful e.g. for performance profiling or dedicated Cafu servers.
    On start-up, Cafu automatically determines and loads the best renderer that is supported on the current system, so that highest image quality is obtained without user query.
  • (5)在最新的硬件上的新的特效可以容易地开发出来,同时提供对旧的硬件的向后兼容。
  • (6)直接导入jpeg, bmp, tgapng 图像格式。
  • (7)实现通用文理和网格的有效共享的全局资源管理。
  • (8) 用于渲染无声动画的所有资源的强大的预缓存系统。

     

    多玩家网络支持

  • (1)客户端/服务器 结构 的多玩家支持,用设计良好的C++代码实现。
  • (2)服务器可运行在Windows 或 Linux (both client-integrated as well as dedicated servers are available).
  • (3)客户端可用Windows 和 Linux。 且客户端也可以当做服务器(比如局域网游戏)!
  • (4)新的、非常快速的 internet网络代码!
  • (5)优化的最小带宽要求。
  • (6)基于Berkeley套接字(高度便携,也没有通用的网络库不必要的开销
  • (7)完整客户端预测 (为运动,事件和武器
  • (8)网络数据包的Delta压缩。

     

    跨平台和跨编译器可移植性

    Windows Linux MacOSX

  • (1)  在Windows, Linux, 和 Mac OS X上使用相同的源代码。
  • (2)  在所有平台上完全支持本机32位和64位的代码。
  • (3)  在Windows上支持微软的Visual C++ 2005, 2008 and 2010 编译器, 在Linux 和Unix上支持GCC 3.x 和4.x 编译器。
  • (4)  精心设计、容易阅读、符合标准,便携而又文档完善的C++源代码。
  • 先进的光照技术

    lighting1 lighting4 lighting2 lighting3

  • (1) 有史以来第一个将光照地图和动态光照效果结合的引擎!
  • (2) 辐射度为基础, 物理正确的照明。
  • (3) 对世界和模型,动态的、着色器驱动的、每个像素的光照。
  • (4) 图案缓冲区阴影量 (一切都蒙上阴影!)。
  • (5) 支持弥漫,正常,隆起,镜面-和亮度的地图。
  • (6) 支持ATI和NVidia可编程GPU和着色器。
  • (7) Smooth-Group甚至支持世界画刷,在地图编辑器中很容易控制!
  • (8) 着色器驱动的、多纹理的或双通光照渲染
  • (9) 球谐函数照明
  • (10) 所有这些在Cafu 材质系统中实现。

     

    3D音效和音频支持api_fmod_2

  • (1) 对所有的声音、音频和音乐效果应用fmod
  • (2) 所有音频资源的三维立体音效 (比如 实体、爆炸等)
  • (3) 多普勒效应,根据接听者扭曲所有声音。
  • (4) 可以播放 MP3 OGG - Vorbis格式音乐文件.

      (5) 适用于所有当前和未来的支持平台.

     

    图形用户界面系统

    gui1 gui2

  • (1)引擎集成强大的图形用户界面(GUI)系统.
  • (2)GUI可以是2D的(用于设计游戏菜单的正常的GUI)或3D的世界(实体) GUI.这为所有例如像呼叫电梯按钮,门与访问控制,各种电脑显示器等游戏中的互动元素中的最大功能和设计灵活性。 
  • (3) GUI完全可以用基于Lua的脚本系统来描述!
  • (4) GUI系统的C++接口也可以从游戏代码直接访问,例如,为了实现播放器的各种HUDs (Head-Up Displays)。
  • (5) SDK包含一种易于使用的工具 ,用于创建自己的 GUI系统的字体
  • (6) 在例子中,当前SDK用GUI系统实现了游戏内控制台、图表输入、"Really Quit?" 对话框,HUD和一个世界(实体)GUI。

     

     

    强大的模型支持

    models1 models2

  • (1) 可以直接导入ase, mdl (Half-Life 1) 和 md5 (Doom 3) 模型文件格式。
  • (2) 导入3ds, lwo, obj, mdl2 (Half-Life 2)文件格式。
  • (3) 面向对象模型代码的设计使得添加新的或自己的文件格式非常容易。
  • (4) 一个离散平的细节水平(dlod)技术使得艺术家能够轻松地创建和组合模型,当查看者远离时动态低降低细节水平。这样,数量庞大的精细模型可以在同时显示在屏幕上。

      (5) 更多

     

    非常大的地形

    terrain1 terrain3

  • (1) 实现了优秀的SOAR算法。
  • (2) 提供连续的细节水平,允许非常大的室外场景。
  • (3) 采用geo-morphing(地质变形)完美地在各细节水平间平滑变换。
  • (4) 更多

     

    易扩展性和极大的灵活性

    coding lua_logo

    (1) 支持Lua语言脚本

    (2) cafu引擎支持多种脚本形式,最重要的是GUI和实体(地图)脚本。

    (3) 许多相关的接口既可以用C++游戏代码编写也可用Lua编写。

    (4) 动态链接库(DLL0控制引擎。

    (5) 简单易用的C++接口可以很容易地创建完整的游戏或应用程序(MODs)。

    (6) 材质系统可以很容易地扩展新的特效,或通过清洁的、文档完备的C++、接口移植到新的平台上。

    (7) 样例: 美国空军人类效能研究室用cafu引擎进行战斗机的模拟实验,以研究飞行员的视觉空间的有效记忆。

     

    软件开发工具包

    mdk1 api_wx

    (1)现场演示包括用于开发新的世界或完整的心游戏的二进制文件。

    (2)包括用cafu开发的DeathMatch游戏的源代码。

    (3)包括CaWE,Cafu世界编辑器。

    (4) 包括用Cafu进行游戏开发的所有二进制工具:CaWE, CaBSP, CaPVS, CaLight, CaSHL, Model Viewer, Material Viewer, Terrain Viewer.

    (5) 详尽的文档和在线支持。

    (6) 对独立的开发者、学生、专业团队和学术机构提供价格合理的源代码许可。

     

    其它特性

    special1

  • (1) 完全支持阴影曲面,从CaWE 编辑器预处理到动态光照和阴影。
  • (2) 所有世界实体的现实物理模型:自然地玩家运动、精确地碰撞检测、6度自由空间、加速度、摩擦力、重力、水、梯子….
  • (3)粒子特效引擎(用来设计爆炸、烟雾、枪口闪烁、雾、雨、雪、血,…)
  • (4) BSP, PVS 和Portal-based 渲染。

     

    下载

    Cafu源代码

    点击下面的链接进入下载页面,下载cafu引擎的源代码压缩包(85.32MB)

    下载地址1

    下载地址2

    下载地址3

    下载地址4

  • 补充文档和信息

    点击进入->开始使用cafu源代码(教你如何从源代码开始)

    Textures.zip(示例世界中使用的纹理图像文件)

    Worlds.zip(预编译的、可直接使用的demo世界,用于快速运行刚编译的二进制文件)

     

    cafu二进制发行版

     

    开发版本

    最新的cafu二进制开发版(r174)

    Windows 32位版本(Cafu-bin-r174-win32.zip,253.05MB)

    下载地址1

    下载地址2

    Windows 64位版本(Cafu-bin-r154-win64.zip,251.75MB)

  • 下载地址1

  • 下载地址2

  • 下载地址3

    注意:目前的开发版本是仅可用于Windows。 对于Linux,请获取下面的稳定版本或上面的源代码。 开发版本比下面的稳定版本测试少,但是它包括所有最新的功能和错误修正。

     

    Ca3D-Engine 9.06稳定版

    该版本2009年6月发布,包含如下内容:

    (1) Ca3D-Engine 现场演示可执行程序

    (2) Ca3D-Engine 世界编辑器

    (3) 用于Ca3DE的制作新的世界的所有工具

    (4) DeathMatch示例游戏的源代码,以及

    (5) 所有相关的Lua脚本

     

    快速启动

    (1)选择下载对应平台的开发包

    (2)无需安装,解压下载的文件即可。

    (3) 双击Ca3DE.exe启动程序

    (4)程序主菜单上点击New Game,然后选择一张地图,点击Go!启动游戏。

    (5)OK

     

    Windows Package下载(32bit和64bit,258MB)

    下载地址1

    下载地址2

    Linux i686 Package下载(32bit,267MB)

    下载地址1

    下载地址2

    开发包内容及软件截图

    压缩包内容:

  • cafu

    世界编辑器:

  • Snap1

  • Snap2

     

  • Snap3

  •  

  • 相关资源

    1. 官方主页:http://www.cafu.de/
    2. 在线文档:http://www.cafu.de/wiki/

    3. 官方论坛:http://www.cafu.de/forum/

    4. Lua脚本编辑器:

    下载地址1

    下载地址2

    下砸地址3

    下载地址4

     

     

     

     

     

     

     

     

     

     

  • 发表于 @ 2010年11月30日 22:47:00 | 评论( loading... 查看最新精华文章 请访问博客首页

    相关文章

    相关文章推荐

    Drools规则引擎介绍

    • 2015-03-25 21:59
    • 1.19MB
    • 下载

    3D游戏引擎术语介绍.doc

    • 2015-06-13 21:28
    • 526KB
    • 下载

    实例介绍Cocos2d-x中Box2D物理引擎:碰撞检测

    在Box2D中碰撞事件通过实现b2ContactListener类函数实现,b2ContactListener是Box2D提供的抽象类,它的抽象函数:virtual void BeginContact...

    MySQL数据库引擎介绍

    原文地址(http://www.jb51.net/article/38004.htm) 数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重...

    MYSQL数据库存储引擎介绍

    • 2011-09-15 16:53
    • 271KB
    • 下载

    Android平台OpenMax多媒体引擎介绍 III

    3.Android中OpenMax的使用情况   Android系统的一些部分对OpenMax IL层进行使用,基本使用的是标准OpenMax IL层的接口,只是进行了简单的封装。标准的Open...
    • dssxk
    • dssxk
    • 2011-09-20 13:11
    • 407
    内容举报
    返回顶部
    收藏助手
    不良信息举报
    您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
    举报原因:
    原因补充:

    (最多只允许输入30个字)