OpenWalnut
1.5.0dev
|
This class is able to provide arbitrary values as define statements in GLSL code. More...
#include <WGEShaderDefine.h>
Public Types | |
typedef std::shared_ptr< WGEShaderDefine< ValueType > > | SPtr |
Shared pointer for this class. More... | |
typedef std::shared_ptr< const WGEShaderDefine< ValueType > > | ConstSPtr |
A const shared pointer for this class. More... | |
Public Types inherited from WGEShaderPreprocessor | |
typedef std::shared_ptr< WGEShaderPreprocessor > | SPtr |
Shared pointer for this class. More... | |
typedef std::shared_ptr< const WGEShaderPreprocessor > | ConstSPtr |
A const shared pointer for this class. More... | |
Public Member Functions | |
WGEShaderDefine (std::string name, ValueType value=ValueType(0)) | |
Constructs a define with a given name and initial value. More... | |
virtual | ~WGEShaderDefine () |
Destructor. More... | |
virtual std::string | process (const std::string &file, const std::string &code) const |
Process the whole code. More... | |
std::string | getName () const |
Returns the name of the define. More... | |
const ValueType & | getValue () const |
Returns the current value. More... | |
void | setValue (const ValueType &value) |
Sets the new value for this define. More... | |
Public Member Functions inherited from WGEShaderPreprocessor | |
WGEShaderPreprocessor () | |
Default constructor. More... | |
virtual | ~WGEShaderPreprocessor () |
Destructor. More... | |
virtual WCondition::SPtr | getChangeCondition () const |
Returns the condition denoting a change in this preprocessor filter. More... | |
void | setActive (bool active=true) |
(De-)activates the preprocessor. More... | |
bool | getActive () const |
If the preprocessor is active, this returns true. More... | |
Private Attributes | |
std::string | m_name |
The name of the define. More... | |
ValueType | m_value |
The value of the define as a string. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from WGEShaderPreprocessor | |
virtual void | updated () |
Fires m_updateCondition which should denote an update in the preprocessor filter. More... | |
This class is able to provide arbitrary values as define statements in GLSL code.
Definition at line 40 of file WGEShaderDefine.h.
typedef std::shared_ptr< const WGEShaderDefine< ValueType > > WGEShaderDefine< ValueType >::ConstSPtr |
A const shared pointer for this class.
Definition at line 51 of file WGEShaderDefine.h.
typedef std::shared_ptr< WGEShaderDefine< ValueType > > WGEShaderDefine< ValueType >::SPtr |
Shared pointer for this class.
Definition at line 46 of file WGEShaderDefine.h.
WGEShaderDefine< ValueType >::WGEShaderDefine | ( | std::string | name, |
ValueType | value = ValueType( 0 ) |
||
) |
Constructs a define with a given name and initial value.
name | name of the define |
value | the initial value. |
Definition at line 111 of file WGEShaderDefine.h.
|
virtual |
Destructor.
Definition at line 120 of file WGEShaderDefine.h.
std::string WGEShaderDefine< ValueType >::getName |
Returns the name of the define.
Definition at line 136 of file WGEShaderDefine.h.
Referenced by WGEShader::setDefine().
const ValueType & WGEShaderDefine< ValueType >::getValue |
Returns the current value.
Definition at line 142 of file WGEShaderDefine.h.
|
virtual |
Process the whole code.
It is not allowed to modify some internal state in this function because it might be called by several shaders.
code | the code to process |
file | the filename of the shader currently processed. Should be used for debugging output. |
Implements WGEShaderPreprocessor.
Definition at line 126 of file WGEShaderDefine.h.
References string_utils::toString().
void WGEShaderDefine< ValueType >::setValue | ( | const ValueType & | value | ) |
Sets the new value for this define.
Causes an reload of all associated shaders.
value | the new value. |
Definition at line 148 of file WGEShaderDefine.h.
Referenced by WMDirectVolumeRendering::moduleMain(), WMTemplateShaders::moduleMain(), WGEShader::setDefine(), and WGEShaderPropertyDefine< PropertyType >::setNewValue().
|
private |
The name of the define.
Definition at line 102 of file WGEShaderDefine.h.
|
private |
The value of the define as a string.
Definition at line 107 of file WGEShaderDefine.h.