Nebula
Loading...
Searching...
No Matches
CoreGraphics::ShaderFeature Class Reference

#include <shaderfeature.h>

Detailed Description

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

Friends

class Base::ShaderServerBase
 

Member Typedef Documentation

◆ Mask

a shader feature bit mask

◆ Name

a single shader feature name

Constructor & Destructor Documentation

◆ ShaderFeature()

CoreGraphics::ShaderFeature::ShaderFeature ( )
private

constructor

Member Function Documentation

◆ MaskToString()

String CoreGraphics::ShaderFeature::MaskToString ( Mask mask)
private

convert a bit mask into a shader feature string

Reverse lookup mask to retrieve the string used to create it.

◆ StringToMask()

ShaderFeature::Mask CoreGraphics::ShaderFeature::StringToMask ( const Util::String & str)
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.

Friends And Related Symbol Documentation

◆ Base::ShaderServerBase

friend class Base::ShaderServerBase
friend

Member Data Documentation

◆ nameHash

Util::HashTable<Mask, Name> CoreGraphics::ShaderFeature::nameHash
private

The documentation for this class was generated from the following files: