shiny  0.4
a shader and material management library for OGRE
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 COgre::AllocatedObject< Category > [external]
 COgre::MaterialSerializer [external]
 Csh::OgreMaterialSerializerThis class allows me to let Ogre handle the pass & texture unit properties
 Cdefault_preprocessing_hooks
 Csh::emit_custom_line_directives_hooks
 Csh::FactoryThe main interface class
 Csh::GpuProgram
 Csh::OgreGpuProgram
 COgre::MaterialManager::Listener [external]
 Csh::OgrePlatform
 Csh::MaterialInstanceListenerAllows 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)
 Csh::MaterialListenerAllows 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)
 Csh::Passthrough
 Csh::Platform
 Csh::OgrePlatform
 Csh::PreprocessorA simple interface for the boost::wave preprocessor
 Csh::PropertySetBase class that allows setting properties with any kind of value-type
 Csh::Material
 Csh::OgreMaterial
 Csh::Pass
 Csh::OgrePass
 Csh::TextureUnitState
 Csh::OgreTextureUnitState
 Csh::PropertySetGetBase class that allows setting properties with any kind of value-type and retrieving them
 Csh::Configuration
 Csh::MaterialInstanceA 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)
 Csh::MaterialInstancePassHolds properties of a single texture unit in a MaterialInstancePass.
No inheritance here for now
 Csh::MaterialInstanceTextureUnitA 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.
 Csh::PropertyValue
 Csh::BooleanValue
 Csh::FloatValue
 Csh::IntValue
 Csh::LinkedValueUsed for retrieving a named property from a context
 Csh::StringValue
 Csh::Vector2
 Csh::Vector3
 Csh::Vector4
 Csh::ScriptLoaderThe 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")
 Csh::ScriptNode
 Csh::ShaderInstanceA specific instance of a ShaderSet with a deterministic shader source
 Csh::ShaderSetContains possible shader permutations of a single uber-shader (represented by one source file)