40 #ifndef _GLS_RENDER_EFFECT_H
41 #define _GLS_RENDER_EFFECT_H
50 #include "gls_state_manager.h"
54 #if (defined(GLSGEN_EXPORT_GLSADVANCEDMESH) || \
55 defined(GLSGEN_IMPORT_GLSADVANCEDMESH) || \
56 defined(GLS_EXPORT_GENERATED) || \
57 defined(GLS_IMPORT_GENERATED)) \
59 # if defined(GLSGEN_EXPORT_GLSADVANCEDMESH) || defined(GLS_EXPORT_GENERATED)
60 # define GLSGEN_GlsAdvancedMesh_EXPORT __declspec(dllexport)
62 # define GLSGEN_GlsAdvancedMesh_EXPORT __declspec(dllimport)
65 # define GLSGEN_GlsAdvancedMesh_EXPORT
74 class DistiAttribDict;
76 typedef DynamicArray<int> ReferencedTextureArray;
77 typedef DynamicArray<int> ReferencedMaterialArray;
91 ATTRIB_POSITION = 0x80000000,
106 } AttributeSemanticEnum;
128 virtual void AddRef() = 0;
129 virtual void Release() = 0;
133 virtual unsigned int GlsRenderEffect_ClassID()
const = 0;
148 unsigned char textureRepeat = 1,
152 _textureRepeat(textureRepeat),
153 _textureMap(textureMap),
154 _textureMagFilter(textureMagFilter),
155 _textureMinFilter(textureMinFilter)
158 #if ((GLS_VERSION_MAJOR == 4 && (GLS_VERSION_MINOR == 1 || GLS_VERSION_MINOR == 0)) || GLS_VERSION_MAJOR <= 3)
167 const TextureSettings& textureSettings,
168 float* viewToWorld3x3
182 const TextureSettings& textureSettings,
183 float* viewToWorld3x3,
184 unsigned int maxLightNum,
185 unsigned int activeLightMask) = 0;
188 #if !defined(GLES) || defined(GLES20)
207 virtual const std::string& EffectTypeName() = 0;
230 static GLSGEN_GlsAdvancedMesh_EXPORT
unsigned int SetDebugMode(
const char* modeName,
bool value);
234 static GLSGEN_GlsAdvancedMesh_EXPORT
unsigned int RegisterNewClassID(
const char* debugStr = NULL);
242 typedef bool (*DebugModeChangeCallback)(
void* user,
const char* modeName,
bool value);
250 static GLSGEN_GlsAdvancedMesh_EXPORT
bool RegisterDebugModeChangeCallback(
void* param, DebugModeChangeCallback func );
258 static GLSGEN_GlsAdvancedMesh_EXPORT
bool UnregisterDebugModeChangeCallback(
void* param, DebugModeChangeCallback func );
virtual void GetReferencedMaterials(ReferencedMaterialArray &referencedMaterials)
Definition: gls_render_effect.h:221
The disti::Material class.
The disti::DynamicArray class. A templated array of objects capable of dynamically growing...
unsigned char _textureMap
Definition: gls_render_effect.h:142
virtual GlsRenderEffect * Clone() const =0
virtual GLint GetVertexAttribIndexForSemantic(int semanticEnum)=0
virtual int Compare(const GlsRenderEffect *other) const =0
bool Equals(const GlsRenderEffect *other) const
Definition: gls_render_effect.h:203
Definition: gls_render_effect.h:84
unsigned char _textureRepeat
Definition: gls_render_effect.h:141
virtual void GetReferencedTextures(ReferencedTextureArray &referencedTextures)
Definition: gls_render_effect.h:224
GL Studio Enumerations and constants.
Definition: display_types.h:65
Definition: disti_metadata.h:661
Used for matching version of libraries and headers.
virtual void SetupEffect(DynamicArray< Material, false > &materialPalette, TexturePalette *texturePalette, const TextureSettings &textureSettings, float *viewToWorld3x3)=0
Definition: display_types.h:72
unsigned char _textureMagFilter
Definition: gls_render_effect.h:143
Definition: texture_palette.h:146
unsigned char _textureMinFilter
Definition: gls_render_effect.h:144
Definition: gls_render_effect.h:119
Definition: gls_render_effect.h:138
Definition: bmpimage.h:46
virtual void CleanupEffect()=0
Remove the effect trom the OpenGL state.