Nebula
Loading...
Searching...
No Matches
shaderfeature.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
16#include "util/stringatom.h"
17#include "util/hashtable.h"
18
19namespace Base
20{
21 class ShaderServerBase;
22}
23
24//------------------------------------------------------------------------------
25namespace CoreGraphics
26{
28{
29public:
31 typedef uint Mask;
34
35private:
37
41 Mask StringToMask(const Util::String& str);
44
46};
47
48} // namespace CoreGraphics
49//------------------------------------------------------------------------------
50
51
The ShaderServer loads all shaders when created, meaning all shaders in the project must be valid and...
Definition shaderserverbase.h:59
Wrapper class for shader permutations by name.
Definition shaderfeature.h:28
uint Mask
a shader feature bit mask
Definition shaderfeature.h:31
Util::HashTable< Mask, Name > nameHash
Definition shaderfeature.h:45
Util::StringAtom Name
a single shader feature name
Definition shaderfeature.h:33
Mask StringToMask(const Util::String &str)
generate a bit mask from a shader feature string
Definition shaderfeature.cc:27
Util::String MaskToString(Mask mask)
convert a bit mask into a shader feature string
Definition shaderfeature.cc:49
ShaderFeature()
constructor
Definition shaderfeature.cc:16
Organizes key/value pairs by a hash code.
Definition hashtable.h:42
A StringAtom.
Definition stringatom.h:22
Definition gamecontentserverbase.cc:10
Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.
Definition accelerationstructure.h:24
Nebula's universal string class.
Definition string.h:50
unsigned int uint
Definition types.h:31