|
GL Studio C++ Runtime API
|
#include <gls_render_effect.h>
Classes | |
| class | TextureSettings |
Public Types | |
| typedef bool(* | DebugModeChangeCallback) (void *user, const char *modeName, bool value) |
Public Types inherited from VertexAttribIndexLookup | |
| enum | AttributeSemanticEnum { ATTRIB_UNDEFINED = 0 , ATTRIB_POSITION = 0x80000000 , ATTRIB_NORMAL , ATTRIB_BLENDWEIGHT , ATTRIB_TANGENT , ATTRIB_BINORMAL , ATTRIB_BLENDINDICES , ATTRIB_PSIZE , ATTRIB_TEXCOORD0 , ATTRIB_TEXCOORD1 , ATTRIB_TEXCOORD2 , ATTRIB_TEXCOORD3 , ATTRIB_TEXCOORD4 , ATTRIB_TEXCOORD5 , ATTRIB_TEXCOORD6 , ATTRIB_TEXCOORD7 } |
Public Member Functions | |
| virtual void | AddRef ()=0 |
| Add to this object's reference count. More... | |
| virtual void | Release ()=0 |
| Release a reference to this object. More... | |
| virtual unsigned int | GlsRenderEffect_ClassID () const =0 |
| virtual void | SetupEffect (DynamicArray< Material > &materialPalette, TexturePalette *texturePalette, const TextureSettings &textureSettings, float *viewToWorld3x3, unsigned int maxLightNum, unsigned int activeLightMask)=0 |
| virtual void | CleanupEffect ()=0 |
| Remove the effect trom the OpenGL state. More... | |
| virtual int | Compare (const GlsRenderEffect *other) const =0 |
| bool | Equals (const GlsRenderEffect *other) const |
| virtual DistiAttribDict & | Attributes ()=0 |
| virtual const std::string & | EffectTypeName ()=0 |
| virtual GlsRenderEffect * | Clone () const =0 |
| virtual void | GetReferencedMaterials (ReferencedMaterialArray &referencedMaterials) |
| virtual void | GetReferencedTextures (ReferencedTextureArray &referencedTextures) |
Public Member Functions inherited from VertexAttribIndexLookup | |
| virtual GLint | GetVertexAttribIndexForSemantic (int semanticEnum)=0 |
Static Public Member Functions | |
| static unsigned int | SetDebugMode (const char *modeName, bool value) |
| static unsigned int | RegisterNewClassID (const char *debugStr=NULL) |
| static bool | RegisterDebugModeChangeCallback (void *param, DebugModeChangeCallback func) |
| static bool | UnregisterDebugModeChangeCallback (void *param, DebugModeChangeCallback func) |
Abstract render effect class Encapsulates an effect that can be applied to the OpenGL state to modify the appearance of geometry. This API currently only supports single pass techniques.
| typedef bool(* DebugModeChangeCallback) (void *user, const char *modeName, bool value) |
Typedef for DebugMode change callbacks.
| user | Pointer that was provided when the callback was registered. |
| modeName | Name of the mode that is changing. |
| value | True to enable the mode, false to disable. |
| returns | True if the callback recognized the mode change, false otherwise. |
|
pure virtual |
Add to this object's reference count.
Implemented in Effect_DiffNormSpecRefl, and Effect_DirectXShader.
|
pure virtual |
Implemented in Effect_DiffNormSpecRefl, and Effect_DirectXShader.
|
pure virtual |
Remove the effect trom the OpenGL state.
Implemented in Effect_DiffNormSpecRefl, and Effect_DirectXShader.
|
pure virtual |
Implemented in Effect_DiffNormSpecRefl, and Effect_DirectXShader.
|
pure virtual |
| other | The effect to compare with. |
Implemented in Effect_DiffNormSpecRefl, and Effect_DirectXShader.
|
pure virtual |
Implemented in Effect_DiffNormSpecRefl, and Effect_DirectXShader.
|
inline |
Determine if two GlsRenderEffect instances are equivalent The rendering system uses this to eliminate redundant effects.
| other | The effect to compare with. |
|
inlinevirtual |
Checks whether or not the effect is transparent. Implementing is optional Inserts all referenced textures into the array passed in. Implementing is optional.
| referencedMaterials | A returned array of material indices. |
Reimplemented in Effect_DiffNormSpecRefl.
|
inlinevirtual |
Inserts all referenced textures into the array passed in. Implementing is optional.
| referencedTextures | A returned array of texture indices. |
Reimplemented in Effect_DiffNormSpecRefl.
|
pure virtual |
Allows for static casting in compare functions
Implemented in Effect_DiffNormSpecRefl, and Effect_DirectXShader.
|
static |
Register for debug mode change notifications.
| param | User pointer that will be passed to the callback. |
| func | Pointer to the callback function. |
|
static |
| debugStr | Unused, kept for backward compatibility. |
|
pure virtual |
Release a reference to this object.
Implemented in Effect_DiffNormSpecRefl, and Effect_DirectXShader.
|
static |
Enable / Disable a debug mode for all effects that support it.
| modeName | Name of the mode to enable / disable. |
| value | True to enable the mode, false to disable. |
|
pure virtual |
Apply the effect to the OpenGL state
| materialPalette | Used to access material settings |
| texturePalette | Used to access texture maps |
| textureSettings | The object-level texture settings |
| viewToWorld3x3 | A 3x3 matrix containing the current viewToWorld transfrom. Used for environment mapping effects. |
| maxLightNum | The number of active lights in the scene. Used to speed up light calculations. |
| activeLightMask | A bit mask of which lights are active in the scene (Ex. GL_LIGHT0, GL_LIGHT2, GL_LIGHT3 and GL_LIGHT7 are active: activeLightMask = ...10001101 last 8 bits in binary = 141u) |
Implemented in Effect_DiffNormSpecRefl, and Effect_DirectXShader.
|
static |
Unregister for debug mode change notifications. The parameters must match those that were passed when the callback was registered.
| param | User pointer that was passed to RegisterDebugModeChangeCallback. |
| func | Function pointer that was passed to RegisterDebugModeChangeCallback. |