shiny  0.4
a shader and material management library for OGRE
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
 Nsh
 CBooleanValue
 CConfiguration
 Cemit_custom_line_directives_hooks
 CFactoryThe main interface class
 CFloatValue
 CGpuProgram
 CIntValue
 CLinkedValueUsed for retrieving a named property from a context
 CMaterial
 CMaterialInstanceA specific material instance, which has all required properties set (for example the diffuse & normal map, ambient/diffuse/specular values).
Depending on these properties, the system will automatically select a shader permutation that suits these and create the backend materials / passes (provided by the Platform class)
 CMaterialInstanceListenerAllows you to be notified when a certain configuration for a material was just about to be created.
Useful for adjusting some properties prior to the material being created (Or you could also re-create the whole material from scratch, i.e. use this as a method to create this material entirely in code)
 CMaterialInstancePassHolds properties of a single texture unit in a MaterialInstancePass.
No inheritance here for now
 CMaterialInstanceTextureUnitA single texture unit state that belongs to a MaterialInstancePass
this is not the real "backend" TextureUnitState (provided by Platform), it is merely a placeholder for properties.
 CMaterialListenerAllows you to be notified when a certain material was just created. Useful for changing material properties that you can't do in a .mat script (for example a series of animated textures)
When receiving the event, you can get the platform material by calling m->getMaterial() and casting that to the platform specific material (e.g. for Ogre, sh::OgreMaterial)
 COgreGpuProgram
 COgreMaterial
 COgreMaterialSerializerThis class allows me to let Ogre handle the pass & texture unit properties
 COgrePass
 COgrePlatform
 COgreTextureUnitState
 CPass
 CPassthrough
 CPlatform
 CPreprocessorA simple interface for the boost::wave preprocessor
 CPropertySetBase class that allows setting properties with any kind of value-type
 CPropertySetGetBase class that allows setting properties with any kind of value-type and retrieving them
 CPropertyValue
 CScriptLoaderThe base class of loaders that read Ogre style script files to get configuration and settings. Heavily inspired by: http://www.ogre3d.org/tikiwiki/All-purpose+script+parser ( "Non-ogre version")
 CScriptNode
 CShaderInstanceA specific instance of a ShaderSet with a deterministic shader source
 CShaderSetContains possible shader permutations of a single uber-shader (represented by one source file)
 CStringValue
 CTextureUnitState
 CVector2
 CVector3
 CVector4