There are three classes of algorithms implemented (See individual documentation for each one):
To use an algorithm, you need to create an instance.
For example, a shader is instantiated by
For other algorithms, just replace DiffuseShader by the Algorithm's name.
Each Algoritm has a begin()/end() method, which puts the renderer in "NPR" mode.
That means you can't use hint(ENABLE_DEPTH_SORT), and for lighting you have to use a DiffuseShader, but everything else should work as expected.
If it does not, this should be considered a bug.
begin/end() calls can be used in any order. The algorithm that calls begin() first will also be executed first.
This section contains an in-depth description of the API. For a quick reference, see the API section of the thesis, or the online JavaDoc pages.