AnKi 3D Engine
Copyright (C) 2009, 2010 Panagiotis Christopoulos-Charitos
http://www.ancient-ritual.com godlike@ancient-ritual.com
Table of Contents
AnKi build system is very Linux specific (GNU make only) at the moment. It also requires a few extra development libraries. You can also find a custom build system that generates GNU makefiles.
AnKi requires a few up to date versions of some libraries. The libraries are:
So before generating makefiles or building AnKi you have to download from their repositories and build the above libraries. Instructions follow. You can alternately use the script download-and-build-externals.sh
From now on the AnKi requires the Bullet physics library. You need CMake and SVN installed.
We need SDL ver 1.3 for creating OpenGL 3.x context. You need to have the Mercurial and autoconf installed.
The latest GLEW provides us with OpenGL 3 and 4 extensions. Needs SVN and a Unix environment (for step 5).
There are 4 build targets in this folder. There is also a build system that generates GNU makefiles (it requires Python 3 installed). If you want to generate the makefile for the debug target (for example) do the following:
And the build process will begin.
The gen.cfg.py files contain the build options of every target. Their format is pretty straightforward and minimal.
WARNING: Sometimes I forget to update all the targets. The debug is always updated though.
The AnKi source code uses doxygen style comments inside the source. To generate the html documentation from a terminal do:
Then open doxygen.html to see it.
Currently there are no assets (models, textures, materials etc) so even if you build it, the application will fail to run.
Some things to remember while coding AnKi.
dnspgke:
This list contains some of the naming shortcuts we use in AnKi:
The controllers are part of the scene node objects. They control the node's behaviour.
They have an input (script, animation, etc) and they control a scene node. The naming convention of the controllers is:
<what the controller controls><the input of the contoller>Ctrl
For Example:
MeshSkelNodeCtrl A Mesh is controlled by a SkelNode
If you want to update/patch a file (for example Main.cpp) do:
Continue working on the new coding style in shaders
Changes in the blending objects problem. The BS will become one stage and the PPS will be divided in two steps. The first will apply the SSAO and the EdgeAA in the IS_FAI and the second will do the rest
The second Physics demo: Create a box that is geting moved by the user. It has to interact with the other boxes
Set the gravity of a certain body to a lower value and see how it behaves
In the Ragdoll bullet demo try to change the distances of the bodies