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:734
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:184
#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