shiny  0.4
a shader and material management library for OGRE
All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
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)