1 #ifndef _EFFECT_DIRECTX_SHADER_H_INCLUDED 
    2 #define _EFFECT_DIRECTX_SHADER_H_INCLUDED 
   12     #pragma warning( push ) 
   13     #pragma warning( disable: 4244 ) 
   17     #pragma warning( pop ) 
   21 #include "gls_state_manager.h" 
   25 #if (defined(GLSGEN_EXPORT_GLSADVANCEDMESH) || \ 
   26      defined(GLSGEN_IMPORT_GLSADVANCEDMESH) || \ 
   27      defined(GLS_EXPORT_GENERATED) || \ 
   28      defined(GLS_IMPORT_GENERATED)) \ 
   30 #  if defined(GLSGEN_EXPORT_GLSADVANCEDMESH) || defined(GLS_EXPORT_GENERATED) 
   31 #    define GLSGEN_GlsAdvancedMesh_EXPORT    __declspec(dllexport) 
   33 #    define GLSGEN_GlsAdvancedMesh_EXPORT    __declspec(dllimport) 
   36 #  define GLSGEN_GlsAdvancedMesh_EXPORT 
   48     static const std::string EFFECT_TYPE_NAME;
 
   52     typedef std::map<std::string , 
float> FloatParamsT;
 
   53     typedef std::map<std::string , 
int> IntParamsT;
 
   54     typedef std::map<std::string , 
glsColor> ColorParamsT;
 
   55     typedef std::map<std::string , 
Vector> VectorParamsT;
 
   56     typedef std::map<std::string , 
bool> BoolParamsT;
 
   57     FloatParamsT _floatParams;
 
   58     IntParamsT _intParams;
 
   59     ColorParamsT _colorParams;
 
   60     VectorParamsT _vectorParams;
 
   61     BoolParamsT _boolParams;
 
   62     IntParamsT _texture2DIndexParams;
 
   63     IntParamsT _textureCUBEIndexParams;
 
   75     void SetupHelperEffect();
 
   79     void SetupAttribDict();
 
   85     static const int INVALID_INDEX = -1;
 
   97     inline void SetMaterialIndex(
unsigned int materialIndex) { _materialIndex = materialIndex; }
 
   98     inline unsigned int GetMaterialIndex()
 const { 
return _materialIndex; }
 
  102     GLSGEN_GlsAdvancedMesh_EXPORT 
void SelectShader();
 
  105     inline DistiAttribDict& Attributes()
 
  107         if (!_attribDict) { SetupAttribDict(); }
 
  112     inline const std::string& EffectTypeName()
 
  114         return EFFECT_TYPE_NAME;
 
  127     virtual void Release();
 
  128     virtual unsigned int GlsRenderEffect_ClassID() 
const;
 
  130                         DynamicArray<Material, false>& materialPalette,
 
  131                         TexturePalette* texturePalette,
 
  132                         const TextureSettings& textureSettings,
 
  133                         float* viewToWorld3x3 
 
  134 #
if !((GLS_VERSION_MAJOR == 4 && (GLS_VERSION_MINOR == 1 || GLS_VERSION_MINOR == 0)) || GLS_VERSION_MAJOR <= 3)                        
 
  136                         unsigned int maxLightNum,
 
  137                         unsigned int activeLightMask
 
  142     virtual int Compare(
const GlsRenderEffect*) 
const;
 
  143     virtual GlsRenderEffect* 
Clone() 
const;
 
Render effect that supports diffuse, normal, specular, and reflection maps. 
A class to handle file paths. 
The disti::Material class. 
Definition: effect_diff_norm_spec_refl.h:85
unsigned int _ref_count
Reference count. 
Definition: effect_directx_shader.h:66
The GlsMatrixAffine class. 
virtual int Compare(const GlsRenderEffect *) const 
virtual GLint GetVertexAttribIndexForSemantic(int semanticEnum)
Effect_DiffNormSpecRefl * _helperEffect
Definition: effect_directx_shader.h:73
virtual void CleanupEffect()
Remove the effect trom the OpenGL state. 
Definition: file_path_class.h:60
Definition: disti_metadata.h:661
Definition: gls_color.h:54
virtual GlsRenderEffect * Clone() const 
Definition: effect_directx_shader.h:44
virtual void SetupEffect(DynamicArray< Material, false > &materialPalette, TexturePalette *texturePalette, const TextureSettings &textureSettings, float *viewToWorld3x3)
Definition: gls_render_effect.h:119
unsigned int _materialIndex
The material index to use. 
Definition: effect_directx_shader.h:68
Definition: bmpimage.h:46
The disti::GlsRenderEffect class.