This is an old revision of the document!
This page provides answers to the most frequently asked questions related to licensing the Cafu engine.
For FAQs about other aspects of Cafu, please refer to the main Support menu above.
Yes, there are several previews and samples available so that you can evaluate the Cafu engine thoroughly and get an impression of what coding with Cafu is like:
Compiling all Cafu source code is very simple and kept identical on all supported platforms. Here is an overview:
scons -Q
For more details on building Cafu, please see chapter “At the Core: The C++ Source Code” in the documentation.
No, the Cafu source code is only available under license, and all licensees are required to keep the source code confidential. You may modify the source code for use in your own products as much as you want, but you may not redistribute your modifications to anyone who is not a licensee.
Yes, fast and well-designed networking code is built into the Cafu engine.
Yes, Cafu works on all i686-based (desktop) Linux systems that come with libc6. In other words, Cafu works on all contemporary Linux distributions like Debian, ubuntu, kubuntu, (open)SuSE, Red Hat, Gentoo, Fedora etc. as smooth as under Windows.
Due to the flexible and modular architecture of the Cafu rendering system, the Cafu engine runs on a much wider range of graphics hardware than most other engines: Older systems that only support OpenGL 1.2 are supported as well as the latest hardware with programmable pixel-shaders and dynamic lighting effects.
Thanks to the Cafu material system, this flexibility is transparent to the users: You define a material once, and it works on every available hardware, with automatic reduction of features when the hardware does not support them.
The secret behind the graphical power of the Cafu engine is that it is able to combine Radiosity lighting techniques with dynamic per-pixel lighting - a unique feature that allows Cafu to work on the broadest range of hardware and still provide exceptionally fast and realistically looking results.
There are no inherent limits build into the Cafu engine. It's framerate and performance mostly depends on the graphics hardware, and is in turn generally dependent on graphics processors fill rate on most modern architectures.
Cafu employs precomputation of potentially visible objects and level-of-detail techniques in order to automatically reduce the number of relevant polygons as much as possible per frame, but the framerate also depends on level design, number of types of light sources and shadows, the materials employed, etc.
We're happy to review your levels and give you performance and tuning tips.
Yes, students can purchase a Cafu Standard License at up to 50% discount. Moreover, licenses are available for universities and institutions that wish to use the Cafu engine as a teaching tool. Please refer to the Licensing Overview for more details.
For all license types, the licensing fee includes unlimited access to the latest Cafu source code downloads. That means that without any additional cost, your download account never expires – it remains valid even after the completion of your title(s).
You need a Professional License rather than a Standard license if one or both of these conditions are met:
The Professional License is different from the Standard License in these regards:
Note that you can start with a Standard License for each of your programmers and later upgrade to a Professional License for the difference in cost.
You need an Applications License rather than a Standard license if one or both of these conditions are met:
Note that you can start with a Standard License for each of your programmers and later upgrade to an Applications License for the difference in cost.
The Cafu engine and its tools employ several external libraries. In order to keep licensing considerations regarding these libraries simple, we use only external libraries whose licenses allow free commercial use, or come with restrictions that are all easy to meet (e.g. mention the library in the programs “About” box), or are under the LGPL.
Libraries that are under the LGPL can well be combined with commercial programs even if they are linked statically to the application and the application source code is not to be provided: A library author analyzed this very well at http://teem.sourceforge.net/lgpl.html
Here is a complete list of external libraries used in Cafu:
Library | Version | Use in Cafu and Notes | License |
---|---|---|---|
Cg | 1.3 | [optional] Used for implementing one of the Cafu renderer DLLs. | See NVidia website |
Collada DOM | 2.1.1 | Not yet used in Cafu at all, intended for Collada support in the future. | SCEA Shared Source License 1.0 |
DirectX | 7 | [optional] Used for mouse input under Windows, easily replaced if desired. | See Microsoft website |
FMOD | 3.75 | [optional] Used in one of the Cafu sound system implementations. FMOD requires a commercial license for commercial use, but we fully support OpenAL as an alternative, see below. | See FMOD website |
freealut | 1.1.0 | The OpenAL utility library that helps with completing a few common tasks. | LGPL v2 |
freetype | 2.2.1 | [optional] We use freetype in the “Font Wizard” in the world editor “CaWE” for creating font bitmaps, it's not used within the Cafu engine itself. | Asks for citation in the program banner. |
libjpeg | 6b | For loading images in jpeg file format. | custom licenses, all allow free commercial use. |
libpng | 1.2.8 | For loading images in jpeg file format. | libpng-LICENSE.txt |
libnoise | 1.0.0 | [optional] Used in the world editor CaWE for random terrain generation, not used in the Cafu engine itself. | LGPL v2 |
libogg | 1.1.3 | For Ogg Vorbis music file playback. | BSD license |
libvorbis | 1.2.0 | For Ogg Vorbis music file playback. | BSD license |
libxml2 | 2.6.32 | Used by the Collada DOM library (currently not used at all). | MIT license |
lwo | 8 | [optional] We use small parts of code from the LightWave 8 SDK for lwo model file loading. | Neither code nor SDK nor website mention an explicit license. |
Lua | 5.1.1 | The script language that we use for GUI script, map/entity scripts, the console interface and many other tasks. | MIT license |
mpg123 | 1.4.1 | [optional] For mp3 music file playback. | LGPL v2 |
OpenAL | 1.1 | The OpenAL implementation under Windows, used in the related Cafu sound system DLL. OpenAL is now the main and default music playback API with the Cafu sound system. | No explicit license under Windows. |
openal-soft | 1.3.253 | The OpenAL implementation under Linux, used in the related Cafu sound system DLL. OpenAL is now the main and default music playback API with the Cafu sound system. | LGPL v2 |
pcre | 7.6 | Used by the Collada DOM and libxml2 libraries (currently not used at all). | BSD license |
wxWidgets | 2.8.7 | The world editor CaWE is entirely built on top of this cross-platform application development library. | wxWidgets license |
ziparchive | 3.2.0 | [optional] Used for loading (encrypted) zip archives by the Cafu file system. There are several licensing alternatives for ZipArchive available (GPL, commercial or custom), but you don't really need it at all. | Several variants |
zlib | 1.2.2 | for jpeg and png image loading | zlib.h |
Libraries that are marked as optional can easily (i.e. with no or little effort) be omitted when building and using Cafu. The same is generally also possible for the other libraries, but either comes with more effort involved or with greater discomfort or feature loss.