GL Studio C++ Runtime API
|
#include <gls_render_effect.h>
Classes | |
class | TextureSettings |
Public Member Functions | |
virtual void | AddRef ()=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. | |
virtual int | Compare (const GlsRenderEffect *other) const =0 |
bool | Equals (const GlsRenderEffect *other) const |
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 |
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.
|
pure virtual |
Manage references to the effect
Implemented in Effect_DiffNormSpecRefl, and Effect_DirectXShader.
|
pure virtual |
Returns a new instance of the effect with the same settings as this one
Implemented in Effect_DiffNormSpecRefl, and Effect_DirectXShader.
|
pure virtual |
Returns 0 if the effects are equal, a positive number if this effect should sort after the other effect, and a negative number if this effect should sort before the other effect. The rendering system uses this to sort effects.
Implemented in Effect_DiffNormSpecRefl, and Effect_DirectXShader.
|
inline |
Determine if two GlsRenderEffect instances are equivalent The rendering system uses this to eliminate redundant effects.
|
inlinevirtual |
Checks whether or not the effect is transparent. Implementing is optional Inserts all referenced textures into the array passed in. Implementing is optional
Reimplemented in Effect_DiffNormSpecRefl.
|
inlinevirtual |
Inserts all referenced textures into the array passed in. Implementing is optional
Reimplemented in Effect_DiffNormSpecRefl.
|
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.