43#ifndef INCLUDED_EFFECT_DIFF_NORM_SPEC_REF_H 
   44#define INCLUDED_EFFECT_DIFF_NORM_SPEC_REF_H 
   54#if( defined( GLSGEN_EXPORT_GLSADVANCEDMESH ) || defined( GLSGEN_IMPORT_GLSADVANCEDMESH ) || defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \ 
   55    && defined( _MSC_VER ) 
   56#    if defined( GLSGEN_EXPORT_GLSADVANCEDMESH ) || defined( GLS_EXPORT_GENERATED ) 
   57#        define GLSGEN_GlsAdvancedMesh_EXPORT __declspec( dllexport ) 
   59#        define GLSGEN_GlsAdvancedMesh_EXPORT __declspec( dllimport ) 
   62#    define GLSGEN_GlsAdvancedMesh_EXPORT 
  129        void Angle( 
float val ) { _angle = val; }
 
  132        float Angle()
 const { 
return _angle; }
 
  151    bool       _userHasCustomShader; 
 
  152#elif !defined( GLES ) 
  187    static const GLenum NORMAL_MAP_TEXTURE_UNIT     = GL_TEXTURE1; 
 
  188    static const GLenum SPECULAR_MAP_TEXTURE_UNIT   = GL_TEXTURE2; 
 
  189    static const GLenum REFLECTION_MAP_TEXTURE_UNIT = GL_TEXTURE3; 
 
  195    static inline unsigned int TextureUnitIndex( GLenum textureUnit ) { 
return textureUnit - GL_TEXTURE0; }
 
  363    GLSGEN_GlsAdvancedMesh_EXPORT 
void SetDiffuseUVWSettings( 
float uOffset, 
float vOffset, 
float uTiling, 
float vTiling, 
float angle );
 
  371    GLSGEN_GlsAdvancedMesh_EXPORT 
void GetDiffuseUVWSettings( 
float& uOffset, 
float& vOffset, 
float& uTiling, 
float& vTiling, 
float& angle );
 
  380    GLSGEN_GlsAdvancedMesh_EXPORT 
void SetNormalUVWSettings( 
float uOffset, 
float vOffset, 
float uTiling, 
float vTiling, 
float angle );
 
  388    GLSGEN_GlsAdvancedMesh_EXPORT 
void GetNormalUVWSettings( 
float& uOffset, 
float& vOffset, 
float& uTiling, 
float& vTiling, 
float& angle );
 
  397    GLSGEN_GlsAdvancedMesh_EXPORT 
void SetSpecularUVWSettings( 
float uOffset, 
float vOffset, 
float uTiling, 
float vTiling, 
float angle );
 
  405    GLSGEN_GlsAdvancedMesh_EXPORT 
void GetSpecularUVWSettings( 
float& uOffset, 
float& vOffset, 
float& uTiling, 
float& vTiling, 
float& angle );
 
  451                float*                  viewToWorld3x3, 
 
  452                unsigned int            maxLightNum,
 
Definition: disti_metadata.h:750
Definition: dynamic_array.h:79
Definition: effect_diff_norm_spec_refl.h:80
void RecalcTransformMatrix()
Should be called after changing the parameters.
bool IsIdentity()
Definition: effect_diff_norm_spec_refl.h:138
float VOffset() const
Definition: effect_diff_norm_spec_refl.h:111
void UTiling(float val)
Definition: effect_diff_norm_spec_refl.h:115
bool operator==(const TextureUVWMatrix &rhs) const
float UOffset() const
Definition: effect_diff_norm_spec_refl.h:104
void VOffset(float val)
Definition: effect_diff_norm_spec_refl.h:108
void VTiling(float val)
Definition: effect_diff_norm_spec_refl.h:122
float * GetTransformMatrix()
Definition: effect_diff_norm_spec_refl.h:142
void UOffset(float val)
Definition: effect_diff_norm_spec_refl.h:101
float VTiling() const
Definition: effect_diff_norm_spec_refl.h:125
float UTiling() const
Definition: effect_diff_norm_spec_refl.h:118
void Angle(float val)
Definition: effect_diff_norm_spec_refl.h:129
float Angle() const
Definition: effect_diff_norm_spec_refl.h:132
Definition: effect_diff_norm_spec_refl.h:74
void GetNormalUVWSettings(float &uOffset, float &vOffset, float &uTiling, float &vTiling, float &angle)
void SetSpecularAmount(float value)
Definition: effect_diff_norm_spec_refl.h:319
int _reflectionTextureIndex
INVALID_INDEX, or the texture index to use.
Definition: effect_diff_norm_spec_refl.h:160
void TextureUVWSettingsChanged()
float _specularAmount
[0.0,1.0] "Weight" of the specular map
Definition: effect_diff_norm_spec_refl.h:164
void SetSpecularUVWSettings(float uOffset, float vOffset, float uTiling, float vTiling, float angle)
void SetDiffuseAmount(float value)
Definition: effect_diff_norm_spec_refl.h:293
void SetNormalUVWSettings(float uOffset, float vOffset, float uTiling, float vTiling, float angle)
virtual void CleanupEffect() DISTI_METHOD_OVERRIDE
Remove the effect trom the OpenGL state.
bool UsesTextureTransforms()
unsigned int _materialIndex
The material index to use.
Definition: effect_diff_norm_spec_refl.h:156
int GetSpecularTextureIndex() const
Definition: effect_diff_norm_spec_refl.h:276
int _normalTextureIndex
INVALID_INDEX, or the texture index to use.
Definition: effect_diff_norm_spec_refl.h:158
DistiAttribDict & Attributes() DISTI_METHOD_OVERRIDE
Definition: effect_diff_norm_spec_refl.h:420
void SetMaterialIndex(unsigned int materialIndex)
Definition: effect_diff_norm_spec_refl.h:221
MaxLike_Shader * _shader
shader program to use (if any)
Definition: effect_diff_norm_spec_refl.h:153
void SetDiffuseTextureIndex(int textureIndex)
Definition: effect_diff_norm_spec_refl.h:241
TextureUVWMatrix _normalUVWMatrix
The texture transform for the normal texture.
Definition: effect_diff_norm_spec_refl.h:178
bool _useVertexColors
true: use vertex color for diffuse rather than material diffuse
Definition: effect_diff_norm_spec_refl.h:167
float _normalAmount
[0.0,1.0] "Weight" of the normal map
Definition: effect_diff_norm_spec_refl.h:163
unsigned int _ref_count
Reference count.
Definition: effect_diff_norm_spec_refl.h:146
unsigned int GetMaterialIndex() const
Definition: effect_diff_norm_spec_refl.h:224
int GetDiffuseTextureIndex() const
Definition: effect_diff_norm_spec_refl.h:250
bool _normalMapFlipGreen
Definition: effect_diff_norm_spec_refl.h:173
void SetReflectionAmount(float value)
Definition: effect_diff_norm_spec_refl.h:332
void SetUseVertexColor(bool value)
Definition: effect_diff_norm_spec_refl.h:228
void SetSpecularTextureIndex(int textureIndex)
Definition: effect_diff_norm_spec_refl.h:267
static const std::string EFFECT_TYPE_NAME
Backing storage for the human readable string for this effect type.
Definition: effect_diff_norm_spec_refl.h:76
int GetNormalTextureIndex() const
Definition: effect_diff_norm_spec_refl.h:263
void SetDiffuseUVWSettings(float uOffset, float vOffset, float uTiling, float vTiling, float angle)
void SetReflectionTextureIndex(int textureIndex)
Definition: effect_diff_norm_spec_refl.h:280
float GetNormalAmount() const
Definition: effect_diff_norm_spec_refl.h:315
TextureUVWMatrix _diffuseUVWMatrix
The texture transform for the diffuse texture.
Definition: effect_diff_norm_spec_refl.h:177
float GetDiffuseAmount() const
Definition: effect_diff_norm_spec_refl.h:302
float _reflectionAmount
[0.0,1.0] "Weight" of the reflection map
Definition: effect_diff_norm_spec_refl.h:165
float _diffuseAmount
[0.0,1.0] "Weight" of the diffuse map
Definition: effect_diff_norm_spec_refl.h:162
int GetReflectionTextureIndex() const
Definition: effect_diff_norm_spec_refl.h:289
void SetNormalMapFlipGreen(bool value)
Definition: effect_diff_norm_spec_refl.h:345
virtual int Compare(const GlsRenderEffect *) const DISTI_METHOD_OVERRIDE
virtual void GetReferencedTextures(ReferencedTextureArray &referencedTextures) DISTI_METHOD_OVERRIDE
void SetNormalTextureIndex(int textureIndex)
Definition: effect_diff_norm_spec_refl.h:254
bool GetNormalMapFlipGreen() const
Definition: effect_diff_norm_spec_refl.h:354
virtual void Release() DISTI_METHOD_OVERRIDE
Release a reference to this object.
virtual unsigned int GlsRenderEffect_ClassID() const DISTI_METHOD_OVERRIDE
static const int INVALID_INDEX
Value to represent an invalid texture index.
Definition: effect_diff_norm_spec_refl.h:198
bool operator==(const Effect_DiffNormSpecRefl &) const
int _diffuseTextureIndex
INVALID_INDEX, or the texture index to use.
Definition: effect_diff_norm_spec_refl.h:157
virtual GLint GetVertexAttribIndexForSemantic(int semanticEnum) DISTI_METHOD_OVERRIDE
DistiAttribDict * _attribDict
The attribute dictionary for this object.
Definition: effect_diff_norm_spec_refl.h:175
void GetSpecularUVWSettings(float &uOffset, float &vOffset, float &uTiling, float &vTiling, float &angle)
void GetDiffuseUVWSettings(float &uOffset, float &vOffset, float &uTiling, float &vTiling, float &angle)
virtual void AddRef() DISTI_METHOD_OVERRIDE
Add to this object's reference count.
virtual void SetupEffect(DynamicArray< Material > &materialPalette, TexturePalette *texturePalette, const TextureSettings &textureSettings, float *viewToWorld3x3, unsigned int maxLightNum, unsigned int activeLightMask) DISTI_METHOD_OVERRIDE
void SetNormalAmount(float value)
Definition: effect_diff_norm_spec_refl.h:306
float GetSpecularAmount() const
Definition: effect_diff_norm_spec_refl.h:328
virtual GlsRenderEffect * Clone() const DISTI_METHOD_OVERRIDE
const Effect_DiffNormSpecRefl & operator=(const Effect_DiffNormSpecRefl &)
bool operator!=(const Effect_DiffNormSpecRefl &o) const
Definition: effect_diff_norm_spec_refl.h:217
float GetReflectionAmount() const
Definition: effect_diff_norm_spec_refl.h:341
int _specularTextureIndex
INVALID_INDEX, or the texture index to use.
Definition: effect_diff_norm_spec_refl.h:159
bool GetUseVertexColor() const
Definition: effect_diff_norm_spec_refl.h:237
virtual void GetReferencedMaterials(ReferencedMaterialArray &referencedMaterials) DISTI_METHOD_OVERRIDE
const std::string & EffectTypeName() DISTI_METHOD_OVERRIDE
Definition: effect_diff_norm_spec_refl.h:430
TextureUVWMatrix _specularUVWMatrix
The texture transform for the specular texture.
Definition: effect_diff_norm_spec_refl.h:179
Definition: gls_es20_effect.h:60
Type * Data()
Definition: gls_matrix.h:128
Definition: gls_render_effect.h:136
Definition: gls_render_effect.h:116
Definition: material.h:56
Definition: texture_palette.h:186
#define DISTI_METHOD_OVERRIDE
Macro to wrap the override keyword, removed on compilers that don't support it.
Definition: gls_cpp_lang_support.h:214
The GlsMatrixAffine class.
The disti::GlsRenderEffect class.
The disti::GlsStateManager factory class. Creates an instance of a state manager that manages the GL ...
Force inclusion of the DirectShow library.
Definition: bmpimage.h:47