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 )
25 #if( defined( GLSGEN_EXPORT_GLSADVANCEDMESH ) || defined( GLSGEN_IMPORT_GLSADVANCEDMESH ) || defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \
26 && defined( _MSC_VER )
27 # if defined( GLSGEN_EXPORT_GLSADVANCEDMESH ) || defined( GLS_EXPORT_GENERATED )
28 # define GLSGEN_GlsAdvancedMesh_EXPORT __declspec( dllexport )
30 # define GLSGEN_GlsAdvancedMesh_EXPORT __declspec( dllimport )
33 # define GLSGEN_GlsAdvancedMesh_EXPORT
44 static const std::string EFFECT_TYPE_NAME;
48 typedef std::map<std::string ,
float> FloatParamsT;
49 typedef std::map<std::string ,
int> IntParamsT;
50 typedef std::map<std::string ,
GlsColor> ColorParamsT;
51 typedef std::map<std::string ,
Vector> VectorParamsT;
52 typedef std::map<std::string ,
bool> BoolParamsT;
53 FloatParamsT _floatParams;
54 IntParamsT _intParams;
55 ColorParamsT _colorParams;
56 VectorParamsT _vectorParams;
57 BoolParamsT _boolParams;
58 IntParamsT _texture2DIndexParams;
59 IntParamsT _textureCUBEIndexParams;
69 void SetupHelperEffect();
73 void SetupAttribDict();
76 static const int INVALID_INDEX = -1;
88 inline void SetMaterialIndex(
unsigned int materialIndex ) { _materialIndex = materialIndex; }
89 inline unsigned int GetMaterialIndex()
const {
return _materialIndex; }
93 GLSGEN_GlsAdvancedMesh_EXPORT
void SelectShader();
96 inline DistiAttribDict& Attributes()
106 inline const std::string& EffectTypeName()
108 return EFFECT_TYPE_NAME;
121 virtual void Release();
122 virtual unsigned int GlsRenderEffect_ClassID()
const;
124 DynamicArray<Material, false>& materialPalette,
125 TexturePalette* texturePalette,
126 const TextureSettings& textureSettings,
127 float* viewToWorld3x3
128 #
if !( ( GLS_VERSION_MAJOR == 4 && ( GLS_VERSION_MINOR == 1 || GLS_VERSION_MINOR == 0 ) ) || GLS_VERSION_MAJOR <= 3 )
130 unsigned int maxLightNum,
131 unsigned int activeLightMask
136 virtual int Compare(
const GlsRenderEffect* )
const;
137 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:82
unsigned int _ref_count
Reference count.
Definition: effect_directx_shader.h:62
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:67
virtual void CleanupEffect()
Remove the effect trom the OpenGL state.
Definition: gls_color.h:53
Definition: file_path_class.h:60
Definition: disti_metadata.h:673
virtual GlsRenderEffect * Clone() const
Definition: effect_directx_shader.h:41
virtual void SetupEffect(DynamicArray< Material, false > &materialPalette, TexturePalette *texturePalette, const TextureSettings &textureSettings, float *viewToWorld3x3)
Definition: gls_render_effect.h:115
unsigned int _materialIndex
The material index to use.
Definition: effect_directx_shader.h:64
Definition: bmpimage.h:46
The disti::GlsRenderEffect class.