#include <shaderprogram.h>
Public Types | |
enum | PARAM_TYPE { FLOAT1, FLOAT2, FLOAT3, FLOAT4, SAMPLER } |
Parameter type. More... | |
Public Member Functions | |
ShaderParam () | |
Constructor. | |
ShaderParam & | operator= (const ShaderParam &sp) |
Assign operator. | |
bool | IsSameAs (const ShaderParam &sp, int fieldsMask) |
Compare shader parameters. | |
Public Attributes | |
wxString | name |
Name. | |
enum VRUT::ShaderParam::PARAM_TYPE | type |
float | fVals [4] |
Parameter float values (FLOAT types only). | |
wxString | imageName |
Image name (SAMPLER type only). | |
bool | bVal |
Parameter bool value (BOOL type only). |
Definition at line 23 of file shaderprogram.h.
VRUT::ShaderParam::ShaderParam | ( | ) | [inline] |
ShaderParam& VRUT::ShaderParam::operator= | ( | const ShaderParam & | sp | ) | [inline] |
Assign operator.
Definition at line 47 of file shaderprogram.h.
00048 { 00049 name = CloneWxString(sp.name); 00050 type = sp.type; 00051 fVals[0] = sp.fVals[0]; 00052 fVals[1] = sp.fVals[1]; 00053 fVals[2] = sp.fVals[2]; 00054 fVals[3] = sp.fVals[3]; 00055 imageName = CloneWxString(sp.imageName); 00056 bVal = sp.bVal; 00057 return *this; 00058 }
bool VRUT::ShaderParam::IsSameAs | ( | const ShaderParam & | sp, | |
int | fieldsMask | |||
) | [inline] |
Compare shader parameters.
Definition at line 60 of file shaderprogram.h.
00061 { 00062 //type and name 00063 if (fieldsMask & 1) 00064 if ((type != sp.type) || (name != sp.name)) 00065 return false; 00066 //values 00067 if (fieldsMask & 2) 00068 { 00069 switch (type) 00070 { 00071 case FLOAT4: 00072 if (fVals[3] != sp.fVals[3]) 00073 return false; 00074 case FLOAT3: 00075 if (fVals[2] != sp.fVals[2]) 00076 return false; 00077 case FLOAT2: 00078 if (fVals[1] != sp.fVals[1]) 00079 return false; 00080 case FLOAT1: 00081 if (fVals[0] != sp.fVals[0]) 00082 return false; 00083 break; 00084 case SAMPLER: 00085 if (imageName != sp.imageName) 00086 return false; 00087 break; 00088 default: 00089 LOGERROR(wxString::Format(wxT("ShaderParam type %i not supported."), type)); 00090 } 00091 } 00092 return true; 00093 }
wxString VRUT::ShaderParam::name |
float VRUT::ShaderParam::fVals[4] |
wxString VRUT::ShaderParam::imageName |