Nebula
|
#include <shaderfeature.h>
Wrapper class for shader permutations by name.
Permutations contain several flags or'ed with | to indicate shader functionality as modules. Strings are converted to hashes and stored in a hash table for reverse lookup.
Public Types | |
typedef uint | Mask |
a shader feature bit mask | |
typedef Util::StringAtom | Name |
a single shader feature name | |
Private Member Functions | |
ShaderFeature () | |
constructor | |
Mask | StringToMask (const Util::String &str) |
generate a bit mask from a shader feature string | |
Util::String | MaskToString (Mask mask) |
convert a bit mask into a shader feature string | |
Private Attributes | |
Util::HashTable< Mask, Name > | nameHash |
Friends | |
class | Base::ShaderServerBase |
a shader feature bit mask
a single shader feature name
|
private |
constructor
convert a bit mask into a shader feature string
Reverse lookup mask to retrieve the string used to create it.
|
private |
generate a bit mask from a shader feature string
Convert a string feature mask of the form "Depth|Alpha|Skinning" into a unique hash.
|
friend |
|
private |