VRUT::ShaderParam Struct Reference

Shader parameter. More...

#include <shaderprogram.h>

List of all members.

Public Types

enum  PARAM_TYPE {
  FLOAT1, FLOAT2, FLOAT3, FLOAT4,
  SAMPLER
}
 Parameter type. More...

Public Member Functions

 ShaderParam ()
 Constructor.
ShaderParamoperator= (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).


Detailed Description

Shader parameter.

Definition at line 23 of file shaderprogram.h.


Member Enumeration Documentation

Parameter type.

Enumerator:
FLOAT1 
FLOAT2 
FLOAT3 
FLOAT4 
SAMPLER 

Definition at line 28 of file shaderprogram.h.

00029               {
00030                      FLOAT1,
00031                      FLOAT2,
00032                      FLOAT3,
00033                      FLOAT4,
00034                      SAMPLER
00035               } type;


Constructor & Destructor Documentation

VRUT::ShaderParam::ShaderParam (  )  [inline]

Constructor.

Definition at line 44 of file shaderprogram.h.

00044 {}


Member Function Documentation

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               }


Member Data Documentation

Name.

Definition at line 26 of file shaderprogram.h.

Parameter float values (FLOAT types only).

Definition at line 37 of file shaderprogram.h.

Image name (SAMPLER type only).

Definition at line 39 of file shaderprogram.h.

Parameter bool value (BOOL type only).

Definition at line 41 of file shaderprogram.h.


The documentation for this struct was generated from the following file:

Generated on Tue Mar 10 14:41:45 2009 for VRUT by  doxygen 1.5.5