The Nebula Device 3: CoreGraphics::ShaderFeature Class Reference

The Nebula Device 3

CoreGraphics::ShaderFeature Class Reference

#include <shaderfeature.h>


Detailed Description

A set of shader features is used to identify a specific variation of a shader. For performance reasons, several shader features are combined into a bit mask, so that finding a matching variation can be done by bit-mask operations. Association of feature names to bit numbers must be done dynamically, since shader features are not hardcoded into Nebula, instead, applications can implement their own features without having to change the Nebula runtime.

In string form, a features mask consists of the shader feature names, separated by '|' characters:

"Depth|Skinning" "Alpha|Skinning|Unlit"

An application may define up to 32 unique features (corresponding to the number of bits in an unsigned int).

Note that all shader feature functionality is offered through ShaderServer methods (this has been done to automatically ensure thread safety for the shader feature code).

(C) 2007 Radon Labs GmbH

Public Types

typedef unsigned int Mask
 a shader feature bit mask
typedef Util::Atom
< Util::String
Name
 a single shader feature name

Public Member Functions

 ShaderFeature ()
 constructor