shiny  0.4
a shader and material management library for OGRE
Getting started

Download the source

git clone git@github.com:OGRECave/shiny.git

Build the source

The source files you want to build are:

You can either build the sources as a static library, or simply add the sources to the source tree of your project.

If you use CMake, you might find the included CMakeLists.txt useful. It builds static libraries with the names "shiny" and "shiny.OgrePlatform".

Note
The CMakeLists.txt is not intended as a stand-alone build system! Instead, you should include this from the main CMakeLists of your project.

Make sure to link against OGRE and the boost filesystem library.

If your boost version is older than 1.49, you must set the SHINY_USE_WAVE_SYSTEM_INSTALL variable and additionally link against the boost wave library.

set(SHINY_USE_WAVE_SYSTEM_INSTALL "TRUE")

Basic initialisation code

Add the following code to your application:

#include <shiny/Main/Factory.hpp>
#include <shiny/Platforms/OgrePlatform/OgrePlatform.hpp>
....
"General", // OGRE Resource group to use for creating materials.
myApplication.getDataPath() + "/" + "materials" // Path to look for materials and shaders. NOTE: This does NOT use the Ogre resource system, so you have to specify an absolute path.
);
sh::Factory* factory = new sh::Factory(platform);
// Set a language. Valid options: CG, HLSL, GLSL
factory->setCurrentLanguage(sh::Language_GLSL);
factory->loadAllFiles();
....
your application runs here
....
// don't forget to delete on exit
delete factory;

That's it! Now you can start defining materials. Refer to the page Defining materials and shaders .