Weekly NewsletterThank you for subscription. You'll be getting weekly digest every Friday.
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
Great job! I want this too! Please make it somehow available!
I want this!
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
- 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
- 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
- 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.
- 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.
- 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
- 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.