Cafu Engine
Subscribe:  iCal  |  Google Calendar
Amsterdam NL   25, Jun — 28, Jun
Los Angeles US   25, Jun — 28, Jun
Montreal CA   27, Jun — 1, Jul
Cambridge GB   28, Jun — 2, Jul
Guildford GB   29, Jun — 30, Jun
Latest comments
44 min ago

Great job! I want this too! Please make it somehow available!

by John Doe
1 hours ago

I want this!

by hnjmbn
3 hours ago


Cafu Engine
0 posts
0 questions answered
Cafu is available to everyone as 100% free software under the GNU General Public License (GPLv3). It can be used to create a variety of 3D applications, including games, simulations, and training and architectural software. Written in C++, the tools, libraries and framework have been designed to make the development of new games and other 3D applications easy. They are actively and continuously developed in order to provide the latest technology.

3D Rendering and Material System Features

© Cafu Engine, 2015

  • New Cafu Material System that handles all rendering.
  • The main MatSys components are Renderers, Materials, and Shaders.
  • All material surface properties can be controlled by the mapper or texture artist via easy to understand material scripts.
  • That is, even after a map or model is finished, the composition, translucency, filtering, modulation, blending, reflectiveness and all other properties of any material can be modified.
  • This even works while the engine is running!
  • Designed to be implemented on virtually anything:
  • Operating Systems: Windows, Linux, MacOS, Pocket PC, Palm, DOS, …
  • APIs: OpenGL 1.2 to 2.0, DirectX 7 to 9, Cg, GLSL, Mesa, software renderers, …
  • Hardware: NVidia, ATI, 3Dlabs, consoles, …
  • Cafu demo packages currently come with complete sets of renderers for Windows and Linux, each containing variants for:
  • 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.
  • New special effects on the latest hardware can easily be exploited, while at the same time fall-back solutions for older hardware can always be provided.
  • Direct import of jpeg, bmp, tga and png image file formats.
  • Global resource management for efficient sharing of common textures and meshes.
  • Powerful Pre-Caching System of all rendering resources for stutter-free animations.

State-of-the-Art Lighting Technology

© Cafu Engine, 2015

  • First engine ever to combine light-maps with dynamic lighting effects!
  • Radiosity-based, physically correct lighting.
  • Dynamic, shader-driven, per-pixel lighting for both worlds and models.
  • Stencil buffer shadow volumes(everything casts shadows on everything!).
  • Support for diffuse-, normal-, bump-, specular-, and luminance-maps.
  • Support for ATI and NVidia programmable GPUs and shaders.
  • Smooth-Group support even for world brushes, easily controlled in the map editor!
  • Shader-driven, multi-textured or 2-pass LightMap rendering.
  • Spherical Harmonic Lighting available as presented in my diploma thesis (the thesis is also available in the Downloads section).
  • All this is implemented in the Cafu Material System.

Graphical User Interface System

© Cafu Engine, 2015

  • A powerful Graphical User Interface (GUI) System (or short:GuiSys) is integrated with the engine.
  • GUIs can be 2D (regular GUIs for game menus etc.) as well as3D for world (entity) GUIs. This provides a maximum of flexibility in functionality and design for all in-game interactive elements like for example call-lift buttons, doors with access control, computer displays of all kinds, etc.
  • GUIs can fully be scripted by the Lua-based Scripting system!
  • The GuiSys C++ interfaces can also be accessed from the game code directly, e.g. in order to implement all kinds of HUDs(Head-Up Displays) for the player.
  • An easy-to-use tool for creating own fonts for use with the Gui System is included with the SDK.
  • As examples, the current SDK implements the in-game console, the chat input, the “Really Quit?” dialog, the HUD and a world (entity) GUI all with the GuiSys.

Model Features

© Cafu Engine, 2015

  • Animation blending allows smooth transitions from one animation sequence to the next.
  • With animation channels you can play different animation sequences on different parts of the model (e.g. head, torso, legs).
  • Multiple skins: Re-use the same mesh with different surface materials.
  • Submodels: Each player is easily combined with any weapon.
  • Level-of-Detail: Automatically switch to lower-res meshes when the model gets farther away from the player.
  • Full integration with the Cafu Material System for per-pixel lighting and shadows.

Model Editor

© Cafu Engine, 2015

  • Use the graphical Model Editor to import many model file formats.
  • A complete toolbox for inspecting, transforming and texturing your models.
  • Adjust and tweak any Cafu-specific model feature to prepare your models for use in the Cafu Engine.
  • Attach graphical, interactive GUIs to any model.
  • Check out the Gallery.
  • Learn more at the Documentation.

Very Large Terrains

© Cafu Engine, 2015

  • Implements the excellent SOAR algorithm by Peter Lindstrom and Valerio Pascucci.
  • Provides continuous-level-of-detail, permitting very large out-door scenes.
  • Employs geo-morphing for perfectly smooth transitions between levels of detail.
  • View-frustrum culling yields an optimal terrain approximation.
  • Can directly load terrains from Terragen (ter) and portable graymap (pgm) files in full 16 bit precision or from any bmp, tga, png or jpeg image file in 8 BPP precision.
  • Integrates fully into the rest of Cafu (i.e. terrains are in the PVS, use optimized code for collision detection and physics, etc.).
  • Even all compile tools are aware of terrains, and act accordingly.
  • There are no restrictions in combining terrains with other elements of Cafu worlds.
  • Full integration with the new Cafu Material System – you can apply arbitrary materials to terrains (e.g. with detail-maps and so on).
  • Direct terrain support and terrain preview in the Cafu world editor CaWE.
  • A terrain (pre-)viewer is included with the SDK.
Still have questions?