Developer Documentation
|
Public Member Functions | |
void | modifyVertexIO (ShaderGenerator *_shader) override |
Add your own inputs/outputs to the vertex shader. More... | |
void | modifyTessControlIO (ShaderGenerator *_shader) override |
Add your own inputs/outputs to the tessellation control shader. More... | |
void | modifyTessEvalIO (ShaderGenerator *_shader) override |
Add your own inputs/outputs to the tessellation evaluation shader. More... | |
void | modifyGeometryIO (ShaderGenerator *_shader) override |
Add your own inputs/outputs to the geometry shader. More... | |
void | modifyFragmentIO (ShaderGenerator *_shader) override |
Add your own inputs/outputs to the fragment shader. More... | |
void | modifyVertexBeginCode (QStringList *_code) override |
Append code the the vertex shader. More... | |
void | modifyVertexEndCode (QStringList *_code) override |
Append code the the vertex shader. More... | |
void | modifyFragmentBeginCode (QStringList *_code) override |
Append code the the fragment shader. More... | |
void | modifyFragmentEndCode (QStringList *_code) override |
Append code the the fragment shader. More... | |
const QString & | filename () const |
const QDateTime & | filetime () const |
void | filetime (const QDateTime &_newtime) |
void | clear () |
![]() | |
virtual void | modifyVertexIO (ShaderGenerator *_shader) |
Add your own inputs/outputs to the vertex shader. More... | |
virtual void | modifyVertexBeginCode (QStringList *_code) |
Append code the the vertex shader. More... | |
virtual void | modifyVertexEndCode (QStringList *_code) |
Append code the the vertex shader. More... | |
virtual void | modifyGeometryIO (ShaderGenerator *_shader) |
Add your own inputs/outputs to the geometry shader. More... | |
virtual void | modifyTessControlIO (ShaderGenerator *_shader) |
Add your own inputs/outputs to the tessellation control shader. More... | |
virtual void | modifyTessEvalIO (ShaderGenerator *_shader) |
Add your own inputs/outputs to the tessellation evaluation shader. More... | |
virtual void | modifyFragmentIO (ShaderGenerator *_shader) |
Add your own inputs/outputs to the fragment shader. More... | |
virtual void | modifyFragmentBeginCode (QStringList *_code) |
Append code the the fragment shader. More... | |
virtual void | modifyFragmentEndCode (QStringList *_code) |
Append code the the fragment shader. More... | |
virtual void | modifyLightingCode (QStringList *_code, int _lightId, ShaderGenLightType _lightType) |
Modify the default lighting code of the shader generator. More... | |
virtual bool | replaceDefaultLightingCode () |
Specify whether this modifier replaces or extends the default lighting code. More... | |
unsigned int | getID () |
Returns the modifier ID. More... | |
operator std::vector< unsigned int > () const | |
std::vector< unsigned int > | operator| (const std::vector< unsigned int > &_v) const |
Static Public Member Functions | |
static ShaderModifierFile * | loadFromFile (QString _filename) |
![]() | |
static ShaderModifier * | loadFromFile (QString _filename) |
Load a modifier from file. More... | |
Private Member Functions | |
void | loadBlocks (const QStringList &_lines) |
void | modifyIO (int _stage, ShaderGenerator *_shader) |
Private Attributes | |
QString | filename_ |
QDateTime | filetime_ |
int | version_ |
QStringList | io_ [5] |
QStringList | vertexBeginCode_ |
QStringList | vertexEndCode_ |
QStringList | fragmentBeginCode_ |
QStringList | fragmentEndCode_ |
Static Private Attributes | |
static QHash< QString, ShaderModifierFile > | fileCache_ |
Definition at line 2509 of file ShaderGenerator.cc.
|
inline |
Definition at line 2513 of file ShaderGenerator.cc.
|
inlinevirtual |
Definition at line 2517 of file ShaderGenerator.cc.
|
inline |
Definition at line 2536 of file ShaderGenerator.cc.
|
inline |
Definition at line 2532 of file ShaderGenerator.cc.
|
inline |
Definition at line 2533 of file ShaderGenerator.cc.
|
inline |
Definition at line 2534 of file ShaderGenerator.cc.
|
inlineprivate |
Definition at line 2605 of file ShaderGenerator.cc.
|
inlinestatic |
Definition at line 2549 of file ShaderGenerator.cc.
|
inlineoverridevirtual |
Append code the the fragment shader.
Refer to the generation structure (Shader Generator ) to see where your code is added and which variables you can modify. Use
to insert your code here
_code | string list of shader code. |
Reimplemented from ACG::ShaderModifier.
Definition at line 2529 of file ShaderGenerator.cc.
|
inlineoverridevirtual |
Append code the the fragment shader.
Refer to the generation structure (Shader Generator ) to see where your code is added and which variables you can modify. Use
to insert your code here.
_code | string list of shader code. |
Reimplemented from ACG::ShaderModifier.
Definition at line 2530 of file ShaderGenerator.cc.
|
inlineoverridevirtual |
Add your own inputs/outputs to the fragment shader.
your implementation may look like this:
_shader | shader interface |
Reimplemented from ACG::ShaderModifier.
Definition at line 2524 of file ShaderGenerator.cc.
|
inlineoverridevirtual |
Add your own inputs/outputs to the geometry shader.
your implementation may look like this:
_shader | shader interface |
Reimplemented from ACG::ShaderModifier.
Definition at line 2523 of file ShaderGenerator.cc.
|
inlineprivate |
Definition at line 2681 of file ShaderGenerator.cc.
|
inlineoverridevirtual |
Add your own inputs/outputs to the tessellation control shader.
your implementation may look like this:
_shader | shader interface |
Reimplemented from ACG::ShaderModifier.
Definition at line 2521 of file ShaderGenerator.cc.
|
inlineoverridevirtual |
Add your own inputs/outputs to the tessellation evaluation shader.
your implementation may look like this:
_shader | shader interface |
Reimplemented from ACG::ShaderModifier.
Definition at line 2522 of file ShaderGenerator.cc.
|
inlineoverridevirtual |
Append code the the vertex shader.
Refer to the generation structure (Shader Generator ) to see where your code is added and which variables you can modify. Use
to insert your code here.
_code | string list of shader code. |
Reimplemented from ACG::ShaderModifier.
Definition at line 2527 of file ShaderGenerator.cc.
|
inlineoverridevirtual |
Append code the the vertex shader.
Refer to the generation structure (Shader Generator ) to see where your code is added and which variables you can modify. Use
to insert your code here
_code | string list of shader code. |
Reimplemented from ACG::ShaderModifier.
Definition at line 2528 of file ShaderGenerator.cc.
|
inlineoverridevirtual |
Add your own inputs/outputs to the vertex shader.
Your implementation may look like this:
_shader | shader interface |
Reimplemented from ACG::ShaderModifier.
Definition at line 2520 of file ShaderGenerator.cc.
|
staticprivate |
Definition at line 2709 of file ShaderGenerator.cc.
|
private |
Definition at line 2691 of file ShaderGenerator.cc.
|
private |
Definition at line 2693 of file ShaderGenerator.cc.
|
private |
Definition at line 2704 of file ShaderGenerator.cc.
|
private |
Definition at line 2705 of file ShaderGenerator.cc.
|
private |
Definition at line 2699 of file ShaderGenerator.cc.
|
private |
Definition at line 2696 of file ShaderGenerator.cc.
|
private |
Definition at line 2702 of file ShaderGenerator.cc.
|
private |
Definition at line 2703 of file ShaderGenerator.cc.