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.

Cross-Platform and Cross-Compiler Portability

Windows
Windows

supported 32-bit   supported 64-bit
Linux / Unix
Linux / Unix

supported 32-bit supported 64-bit

  • Use the same source code on Windows, Linux, and (soon!) Mac OS X.
  • Full support for native 32- and 64-bit code on all platforms.
  • Supports the Microsoft Visual C++ 2005, 2008 and 2010 compilers on Windows, and the GCC 3.x and 4.x on Linux and Unix.

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.
  • 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 as 3D 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 Editor

The CaWE Model Editor  The CaWE Model Editor

  • 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.

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.

Easy Extensibility and Great Flexibility

   

  • Supports Scripting based on the Lua programming language!
  • Several forms of scripting are supported by the Cafu engine (e.g. cmat material definition files), the most important of which are GUI scripting and entity (map) scripting. For example, a lift that stops at several floors with each floor having a call button can completely be implemented by GUI and map scripts.
  • Many relevant interfaces are available to (have bindings to) both the C++ game code as well as the Lua scripts.
  • Dynamic Link Libraries (DLLs) control the engine.
  • Simple to use C++ code interfaces make it easy to create entirely new games or applications (MODs) with Cafu.
  • Also the Material System can easily be augmented with new effects, or ported to new platforms via clean and well-documented C++ interfaces.
  • An example: the United States Air Force, Research Labs for Human Effectiveness employ the Cafu engine in warfighter simulation experiments to study the visuo-spatial working memory of their pilots.

Image RSS Feed Latest Screens
Tech Demo Tech Demo Tech Demo
Blog RSS Feed Report abuse Latest News: Cafu Engine used in university game project

About Cafu Engine with 0 comments by Taurustar_Drakest on Apr 15th, 2012

A group of currently 13 students (and growing) at the University of Applied Science of Ingolstadt is using the Cafu Engine for developing a game project in the course of their computer science lectures.

Their goal is to create a platform independent MMORPG whose gameplay does not involve gun battles, but requires the player to make economic decisions to win.

The project uses high-definition textures and is set in a medieval architecture, thanks to a texture artist and a map architect among the group members.

The project team is currently negotiation a sponsoring contract with EPOS CAT GmbH in Ingolstadt.

Media RSS Feed Latest Video
Post comment Comments
AndieRTaylor
AndieRTaylor Sep 30 2012, 7:53pm says:

Thanks for posting this. I will use this for a game. Looks very good.

I wish more engines had built in Lua or Java support. Would save people a lot of time.

+1 vote     reply to comment
AndieRTaylor
AndieRTaylor Sep 30 2012, 9:08pm replied:

Oh, wow. My expectations were rather large, weren't they.

Looks good, but not what I am looking for.

+1 vote     reply to comment
sixcentgeorge
sixcentgeorge Apr 15 2012, 12:02pm says:

your project looks very great , may be you should add the hl2 models and textures support with an automated conversion from hl1 to hl2 models .
for sure hl2 mdl is a mess compared to the "all in one file" hl1 mdl format , this tool should help porting mods and models and with your engine , mods team could learn gpu-special-effects ;']
wish you to get to opengl 3 or 4 as soon as possible .

+1 vote     reply to comment
Taurustar_Drakest
Taurustar_Drakest Sep 3 2012, 6:02pm replied:

Wow have passed a lot of time since I checked this, and sorry for the late of the answer, I'm not the original developer of Cafu Engine (it is Carsten Fuchs) I'm just a user of this engine who post this on ModDB (with the permission of Carsten Fuchs)

Anyway I'll give him the message

+1 vote     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Platforms
Windows, Linux
Contact
Send Message
Official Page
Cafu.de
Licence
GPL
Release Date
Released Jun 4, 2009
Engine Watch
Track this engine
Share
Community Rating

Average

8

1 vote submitted.

You Say

-

Ratings closed.

Twitter

Latest tweets from @cafuengine

Article about entity component systems at Heise Developer: As an interesting coincidence, the renowned German ... T.co

Jul 18 2014, 3:59pm

Changeset in git [46c5b2e]: Map Editor: Move all files into subdirectory `CaWE/MapEditor`. Analogous ...: Ma... T.co

Jul 13 2014, 9:46am

Changeset in git [4893475]: Map Editor: Require that in the "Select" command's constructors for ...: Map Edit... T.co

Jul 12 2014, 2:59pm

Changeset in git [dde8830]: Map Editor: Remove the obsolete and unused "entity type" choices from the ...: Ma... T.co

Jul 9 2014, 8:18am

Changeset in git [d2f1892]: Map Editor: In the Entity Hierarchy, use labels of the form "Entity name ...: Map... T.co

Jul 8 2014, 7:20am

Changeset in git [046e50b]: CaWE: Remove wrongly used `virtual` keyword from the Observer pattern's ...: CaWE... T.co

Jul 4 2014, 6:31am

Changeset in git [67eb31f]: Map Editor: Rename class `EntityInspectorT` to `DialogEntityInspectorT`. ...: Ma... T.co

Jul 2 2014, 6:50am

Changeset in git [0838ffc]: GUI Editor: Rename the "Window Tree" dialog to "Window Hierarchy". The ...: GUI ... T.co

Jul 1 2014, 8:18am

Changeset in git [f34fccf]: Map Editor: Remove old and obsolete "Entity Report" dialog. The "Entity ...: Map... T.co

Jun 29 2014, 6:48am

Changeset in git [25f1c92]: Map Editor: Revise the handling of "Edit" menu events. This change ...: Map Edit... T.co

Jun 26 2014, 7:53am

Embed Buttons

Promote Cafu Engine on your homepage or blog by selecting a button and using the HTML code provided (more).

Cafu Engine Cafu Engine
Cafu Engine
Statistics
Rank
171 of 643
Last Update
1 year ago
Watchers
5 members
Files
8