1 #ifndef INCLUDED_EFFECT_DIRECTX_SHADER_H
2 #define INCLUDED_EFFECT_DIRECTX_SHADER_H
17 #if( defined( GLSGEN_EXPORT_GLSADVANCEDMESH ) || defined( GLSGEN_IMPORT_GLSADVANCEDMESH ) || defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \
18 && defined( _MSC_VER )
19 # if defined( GLSGEN_EXPORT_GLSADVANCEDMESH ) || defined( GLS_EXPORT_GENERATED )
20 # define GLSGEN_GlsAdvancedMesh_EXPORT __declspec( dllexport )
22 # define GLSGEN_GlsAdvancedMesh_EXPORT __declspec( dllimport )
25 # define GLSGEN_GlsAdvancedMesh_EXPORT
36 static const std::string EFFECT_TYPE_NAME;
40 typedef std::map<std::string ,
float> FloatParamsT;
41 typedef std::map<std::string ,
int> IntParamsT;
42 typedef std::map<std::string ,
GlsColor> ColorParamsT;
43 typedef std::map<std::string ,
Vector> VectorParamsT;
44 typedef std::map<std::string ,
bool> BoolParamsT;
45 FloatParamsT _floatParams;
46 IntParamsT _intParams;
47 ColorParamsT _colorParams;
48 VectorParamsT _vectorParams;
49 BoolParamsT _boolParams;
50 IntParamsT _texture2DIndexParams;
51 IntParamsT _textureCUBEIndexParams;
61 void SetupHelperEffect();
65 void SetupAttribDict();
68 static const int INVALID_INDEX = -1;
80 inline void SetMaterialIndex(
unsigned int materialIndex ) { _materialIndex = materialIndex; }
81 inline unsigned int GetMaterialIndex()
const {
return _materialIndex; }
85 GLSGEN_GlsAdvancedMesh_EXPORT
void SelectShader();
88 inline DistiAttribDict& Attributes()
98 inline const std::string& EffectTypeName()
100 return EFFECT_TYPE_NAME;
113 virtual void Release();
114 virtual unsigned int GlsRenderEffect_ClassID()
const;
115 virtual void SetupEffect(
116 DynamicArray<Material>& materialPalette,
117 TexturePalette* texturePalette,
118 const TextureSettings& textureSettings,
119 float* viewToWorld3x3
120 #
if !( ( GLS_VERSION_MAJOR == 4 && ( GLS_VERSION_MINOR == 1 || GLS_VERSION_MINOR == 0 ) ) || GLS_VERSION_MAJOR <= 3 )
122 unsigned int maxLightNum,
123 unsigned int activeLightMask
128 virtual int Compare(
const GlsRenderEffect* )
const;
129 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:73
unsigned int _ref_count
Reference count.
Definition: effect_directx_shader.h:54
The GlsMatrixAffine class.
The disti::GlsStateManager factory class. Creates an instance of a state manager that manages the GL ...
virtual int Compare(const GlsRenderEffect *) const
virtual GLint GetVertexAttribIndexForSemantic(int semanticEnum)
Effect_DiffNormSpecRefl * _helperEffect
Definition: effect_directx_shader.h:59
virtual void CleanupEffect()
Remove the effect trom the OpenGL state.
Definition: gls_color.h:53
Definition: file_path_class.h:61
Definition: disti_metadata.h:665
virtual GlsRenderEffect * Clone() const
Definition: effect_directx_shader.h:33
Definition: gls_render_effect.h:117
unsigned int _materialIndex
The material index to use.
Definition: effect_directx_shader.h:56
Definition: bmpimage.h:46
The disti::GlsRenderEffect class.