|
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 |