#include <shaderprogram.h>
Public Types | |
| enum | SHADER_LANGUAGE { LANG_GLSL, LANG_OPENRT, LANG_NONE } |
| Shader language type. More... | |
Public Member Functions | |
| ShaderProgram () | |
| Constructor. | |
| ShaderProgram (const ShaderProgram &sp) | |
| Copy constructor. | |
| ShaderProgram * | Clone () const |
| Get copy of instance. | |
| bool | IsSameAs (const ShaderProgram &sp, int fieldsMask) |
| Compare shaders. | |
Public Attributes | |
| enum VRUT::ShaderProgram::SHADER_LANGUAGE | type |
| wxString | vsSource |
| Vertex shader source. | |
| wxString | fsSource |
| Fragment shader source. | |
| wxString | vsFileName |
| Vertex shader file. | |
| wxString | fsFileName |
| Fragment shader file. | |
| std::vector< ShaderParam > | paramList |
| Shader parameter list. | |
Definition at line 97 of file shaderprogram.h.
Shader language type.
Definition at line 100 of file shaderprogram.h.
00101 { 00102 LANG_GLSL, 00103 LANG_OPENRT, 00104 LANG_NONE 00105 } type;
| VRUT::ShaderProgram::ShaderProgram | ( | ) | [inline] |
| VRUT::ShaderProgram::ShaderProgram | ( | const ShaderProgram & | sp | ) | [inline] |
Copy constructor.
Definition at line 120 of file shaderprogram.h.
00121 : type(sp.type), vsSource(CloneWxString(sp.vsSource)), fsSource(CloneWxString(sp.fsSource)) 00122 { 00123 paramList.assign(sp.paramList.begin(), sp.paramList.end()); 00124 }
| ShaderProgram* VRUT::ShaderProgram::Clone | ( | ) | const [inline] |
Get copy of instance.
Definition at line 126 of file shaderprogram.h.
00127 { 00128 return new ShaderProgram(*this); 00129 }
| bool VRUT::ShaderProgram::IsSameAs | ( | const ShaderProgram & | sp, | |
| int | fieldsMask | |||
| ) | [inline] |
Compare shaders.
Definition at line 131 of file shaderprogram.h.
00132 { 00133 //type and source 00134 if (fieldsMask & 1) 00135 if ((type != sp.type) || (vsSource != sp.vsSource) || (fsSource != sp.fsSource)) 00136 return false; 00137 //parameters and values 00138 if (fieldsMask & 2) 00139 { 00140 if (paramList.size() != sp.paramList.size()) 00141 return false; 00142 //TODO: parameters can be in different order... 00143 for (size_t i=0; i<paramList.size(); i++) 00144 { 00145 if (paramList[i].IsSameAs(sp.paramList[i], 3)) 00146 return false; 00147 } 00148 } 00149 return true; 00150 }
| wxString VRUT::ShaderProgram::vsSource |
| wxString VRUT::ShaderProgram::fsSource |
| wxString VRUT::ShaderProgram::vsFileName |
| wxString VRUT::ShaderProgram::fsFileName |
| std::vector<ShaderParam> VRUT::ShaderProgram::paramList |
1.5.5