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.