Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Ogre::GLRenderSystem Class Reference

Implementation of SDL as a rendering system. More...

#include <OgreGLRenderSystem.h>

Inheritance diagram for Ogre::GLRenderSystem:

Inheritance graph
[legend]
Collaboration diagram for Ogre::GLRenderSystem:

Collaboration graph
[legend]
List of all members.

Public Methods

 GLRenderSystem ()
 ~GLRenderSystem ()
const StringgetName (void) const
 See RenderSystem.

ConfigOptionMapgetConfigOptions (void)
 See RenderSystem.

void setConfigOption (const String &name, const String &value)
 See RenderSystem.

String validateConfigOptions (void)
 See RenderSystem.

RenderWindowinitialise (bool autoCreateWindow)
 See RenderSystem.

void reinitialise (void)
 See RenderSystem.

void shutdown (void)
 See RenderSystem.

void setAmbientLight (float r, float g, float b)
 See RenderSystem.

void setShadingType (ShadeOptions so)
 See RenderSystem.

void setLightingEnabled (bool enabled)
 See RenderSystem.

RenderWindowcreateRenderWindow (const String &name, unsigned int width, unsigned int height, unsigned int colourDepth, bool fullScreen, int left=0, int top=0, bool depthBuffer=true, RenderWindow *parentWindowHandle=0)
 See RenderSystem.

RenderTexturecreateRenderTexture (const String &name, unsigned int width, unsigned int height)
 Creates and registers a render texture object.

void destroyRenderWindow (RenderWindow *pWin)
 See RenderSystem.

String getErrorDescription (long errorNumber)
 See RenderSystem.

void convertColourValue (const ColourValue &colour, unsigned long *pDest)
 See RenderSystem.

void setNormaliseNormals (bool normalise)
 See RenderSystem.

void _useLights (const LightList &lights, unsigned short limit)
 See RenderSystem.

void _setWorldMatrix (const Matrix4 &m)
 See RenderSystem.

void _setViewMatrix (const Matrix4 &m)
 See RenderSystem.

void _setProjectionMatrix (const Matrix4 &m)
 See RenderSystem.

void _setSurfaceParams (const ColourValue &ambient, const ColourValue &diffuse, const ColourValue &specular, const ColourValue &emissive, Real shininess)
 See RenderSystem.

void _setTexture (size_t unit, bool enabled, const String &texname)
 See RenderSystem.

void _setTextureCoordSet (size_t stage, size_t index)
 See RenderSystem.

void _setTextureCoordCalculation (size_t stage, TexCoordCalcMethod m)
 See RenderSystem.

void _setTextureBlendMode (size_t stage, const LayerBlendModeEx &bm)
 See RenderSystem.

void _setTextureAddressingMode (size_t stage, TextureUnitState::TextureAddressingMode tam)
 See RenderSystem.

void _setTextureMatrix (size_t stage, const Matrix4 &xform)
 See RenderSystem.

void _setSceneBlending (SceneBlendFactor sourceFactor, SceneBlendFactor destFactor)
 See RenderSystem.

void _setAlphaRejectSettings (CompareFunction func, unsigned char value)
 See RenderSystem.

void _setViewport (Viewport *vp)
 See RenderSystem.

void _beginFrame (void)
 See RenderSystem.

void _endFrame (void)
 See RenderSystem.

void _setCullingMode (CullingMode mode)
 See RenderSystem.

void _setDepthBufferParams (bool depthTest=true, bool depthWrite=true, CompareFunction depthFunction=CMPF_LESS_EQUAL)
 See RenderSystem.

void _setDepthBufferCheckEnabled (bool enabled=true)
 See RenderSystem.

void _setDepthBufferWriteEnabled (bool enabled=true)
 See RenderSystem.

void _setDepthBufferFunction (CompareFunction func=CMPF_LESS_EQUAL)
 See RenderSystem.

void _setDepthBias (ushort bias)
 See RenderSystem.

void _setColourBufferWriteEnabled (bool red, bool green, bool blue, bool alpha)
 See RenderSystem.

void _setFog (FogMode mode, const ColourValue &colour, Real density, Real start, Real end)
 See RenderSystem.

void _makeProjectionMatrix (Real fovy, Real aspect, Real nearPlane, Real farPlane, Matrix4 &dest, bool forGpuProgram=false)
 See RenderSystem.

void _setRasterisationMode (SceneDetailLevel level)
 See RenderSystem.

void setStencilCheckEnabled (bool enabled)
 See RenderSystem.

void setStencilBufferFunction (CompareFunction func)
 See RenderSystem.

void setStencilBufferReferenceValue (ulong refValue)
 See RenderSystem.

void setStencilBufferMask (ulong mask)
 See RenderSystem.

void setStencilBufferFailOperation (StencilOperation op)
 See RenderSystem.

void setStencilBufferDepthFailOperation (StencilOperation op)
 See RenderSystem.

void setStencilBufferPassOperation (StencilOperation op)
 See RenderSystem.

void setStencilBufferParams (CompareFunction func=CMPF_ALWAYS_PASS, ulong refValue=0, ulong mask=0xFFFFFFFF, StencilOperation stencilFailOp=SOP_KEEP, StencilOperation depthFailOp=SOP_KEEP, StencilOperation passOp=SOP_KEEP)
 See RenderSystem.

void _setTextureUnitFiltering (size_t unit, FilterType ftype, FilterOptions filter)
 See RenderSystem.

void _setTextureLayerAnisotropy (size_t unit, unsigned int maxAnisotropy)
 See RenderSystem.

void setVertexDeclaration (VertexDeclaration *decl)
 See RenderSystem.

void setVertexBufferBinding (VertexBufferBinding *binding)
 See RenderSystem.

void _render (const RenderOperation &op)
 See RenderSystem.

void bindGpuProgram (GpuProgram *prg)
 See RenderSystem.

void unbindGpuProgram (GpuProgramType gptype)
 See RenderSystem.

void bindGpuProgramParameters (GpuProgramType gptype, GpuProgramParametersSharedPtr params)
 See RenderSystem.

virtual void attachRenderTarget (RenderTarget &target)
 Don't do this anymore, just allow via Root RenderSystem* regPtr = Root::getSingleton().getRenderSystem(); if (!regPtr || regPtr != this) Register self - library user has come to me direct Root::getSingleton().setRenderSystem(this);.

virtual RenderTargetgetRenderTarget (const String &name)
 Returns a pointer to the render target with the passed name, or NULL if that render target cannot be found.

virtual RenderTargetdetachRenderTarget (const String &name)
 Detaches the render target with the passed name from the render system and returns a pointer to it.

void setWaitForVerticalBlank (bool enabled)
 Defines whether or now fullscreen render windows wait for the vertical blank before flipping buffers.

bool getWaitForVerticalBlank (void) const
 Returns true if the system is synchronising frames with the monitor vertical blank.

virtual void _setWorldMatrices (const Matrix4 *m, unsigned short count)
 Sets multiple world matrices (vertex blending).

virtual void _setTextureUnitSettings (size_t texUnit, TextureUnitState &tl)
 Utility function for setting all the properties of a texture unit at once.

virtual void _disableTextureUnit (size_t texUnit)
 Turns off a texture unit.

virtual void _disableTextureUnitsFrom (size_t texUnit)
 Disables all texture units from the given unit upwards.

virtual void _setTextureUnitFiltering (size_t unit, FilterOptions minFilter, FilterOptions magFilter, FilterOptions mipFilter)
 Sets the filtering options for a given texture unit.

virtual Viewport_getViewport (void)
 Get the current active viewport for rendering.

virtual CullingMode _getCullingMode (void) const
virtual void _beginGeometryCount (void)
 The RenderSystem will keep a count of tris rendered, this resets the count.

virtual unsigned int _getFaceCount (void) const
 Reports the number of tris rendered since the last _beginGeometryCount call.

virtual unsigned int _getVertexCount (void) const
 Reports the number of vertices passed to the renderer since the last _beginGeometryCount call.

virtual void softwareVertexBlend (VertexData *vertexData, Matrix4 *pMatrices)
 Performs a software vertex blend on the passed in operation.

const RenderSystemCapabilitiesgetCapabilities (void) const
 Gets the capabilities of the render system.

virtual void _initRenderTargets (void)
 Utility method for initialising all render targets attached to this rendering system.

virtual void _updateAllRenderTargets (void)
 Internal method for updating all render targets attached to this rendering system.

virtual void setInvertVertexWinding (bool invert)
 Sets whether or not vertex windings set should be inverted; this can be important for rendering reflections.


Protected Attributes

RenderTargetMap mRenderTargets
 The render targets.

RenderTargetPriorityMap mPrioritisedRenderTargets
 The render targets, ordered by priority.

RenderTargetmActiveRenderTarget
 The Active render target.

TextureManagermTextureManager
RenderSystemCapabilitiesmCapabilities
 Used to store the capabilities of the graphics card.

ViewportmActiveViewport
CullingMode mCullingMode
bool mVSync
size_t mFaceCount
size_t mVertexCount
Matrix4 mWorldMatrices [256]
 Saved set of world matrices.

bool mInvertVertexWinding

Private Methods

void initConfigOptions (void)
void initInputDevices (void)
void processInputDevices (void)
void setGLLight (size_t index, Light *lt)
void makeGLMatrix (GLfloat gl_matrix[16], const Matrix4 &m)
GLint getBlendMode (SceneBlendFactor ogreBlend)
void setLights ()
GLint convertCompareFunction (CompareFunction func)
GLint convertStencilOp (StencilOperation op)
GLfloat _getCurrentAnisotropy (size_t unit)
void setGLLightPositionDirection (Light *lt, size_t lightindex)
 Internal method to set pos / direction of a light.

void initGL (void)
GLuint getCombinedMinMipFilter (void)

Private Attributes

bool mStopRendering
LightmLights [MAX_LIGHTS]
Matrix4 mViewMatrix
Matrix4 mWorldMatrix
Matrix4 mTextureMatrix
FilterOptions mMinFilter
FilterOptions mMipFilter
size_t mTextureCoordIndex [OGRE_MAX_TEXTURE_COORD_SETS]
GLenum mTextureTypes [OGRE_MAX_TEXTURE_LAYERS]
 holds texture type settings for every stage

bool mDepthWrite
bool mColourWrite [4]
GLint mStencilFunc
GLint mStencilRef
GLuint mStencilMask
GLint mStencilFail
GLint mStencilZFail
GLint mStencilPass
GLSupportmGLSupport
 GL support class, used for creating windows etc.

bool mUseAutoTextureMatrix
GLfloat mAutoTextureMatrix [16]
HardwareBufferManagermHardwareBufferManager
GLGpuProgramManagermGpuProgramManager
unsigned short mCurrentLights
GLGpuProgrammCurrentVertexProgram
GLGpuProgrammCurrentFragmentProgram

Detailed Description

Implementation of SDL as a rendering system.

Definition at line 40 of file OgreGLRenderSystem.h.


Constructor & Destructor Documentation

Ogre::GLRenderSystem::GLRenderSystem  
 

Definition at line 100 of file OgreGLRenderSystem.cpp.

References Ogre::FO_LINEAR, Ogre::FO_POINT, Ogre::getGLSupport(), getName(), glActiveTextureARB_ptr, glBindBufferARB_ptr, glBindProgramARB_ptr, glBufferDataARB_ptr, glBufferSubDataARB_ptr, glClientActiveTextureARB_ptr, glCombinerInputNV_ptr, glCombinerOutputNV_ptr, glCombinerParameterfvNV_ptr, glCombinerParameteriNV_ptr, glCombinerStageParameterfvNV_ptr, glDeleteBuffersARB_ptr, glDeleteProgramsARB_ptr, glFinalCombinerInputNV_ptr, glGenBuffersARB_ptr, glGenProgramsARB_ptr, glGetBufferSubDataARB_ptr, glGetProgramivARB_ptr, glLoadProgramNV_ptr, glMapBufferARB_ptr, glProgramLocalParameter4fvARB_ptr, glProgramParameter4fvNV_ptr, glProgramStringARB_ptr, glSecondaryColorPointerEXT_ptr, glTrackMatrixNV_ptr, glUnmapBufferARB_ptr, initConfigOptions(), Ogre::RenderSystem::mActiveRenderTarget, mColourWrite, mCurrentFragmentProgram, mCurrentLights, mCurrentVertexProgram, mGLSupport, mLights, mMinFilter, mMipFilter, mStencilFail, mStencilFunc, mStencilMask, mStencilPass, mStencilRef, mStencilZFail, mTextureCoordIndex, mTextureTypes, mViewMatrix, mWorldMatrix, OGRE_MAX_TEXTURE_COORD_SETS, OGRE_MAX_TEXTURE_LAYERS, OgreGuard, and OgreUnguard.

Ogre::GLRenderSystem::~GLRenderSystem  
 

Definition at line 175 of file OgreGLRenderSystem.cpp.

References Ogre::RenderSystem::mCapabilities, mGLSupport, mGpuProgramManager, mHardwareBufferManager, Ogre::RenderSystem::mRenderTargets, and Ogre::RenderSystem::mTextureManager.


Member Function Documentation

void Ogre::GLRenderSystem::_beginFrame void    [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 995 of file OgreGLRenderSystem.cpp.

References Ogre::ColourValue::a, Ogre::ColourValue::b, Except, Ogre::ColourValue::g, Ogre::Viewport::getBackgroundColour(), Ogre::Viewport::getClearEveryFrame(), Ogre::RenderSystem::mActiveViewport, mColourWrite, mDepthWrite, OgreGuard, OgreUnguard, Ogre::ColourValue::r, and setLights().

void Ogre::RenderSystem::_beginGeometryCount void    [virtual, inherited]
 

The RenderSystem will keep a count of tris rendered, this resets the count.

Definition at line 296 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::mFaceCount, and Ogre::RenderSystem::mVertexCount.

Referenced by Ogre::SceneManager::_renderScene().

void Ogre::RenderSystem::_disableTextureUnit size_t    texUnit [virtual, inherited]
 

Turns off a texture unit.

Definition at line 248 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::_setTexture().

Referenced by Ogre::RenderSystem::_disableTextureUnitsFrom().

void Ogre::RenderSystem::_disableTextureUnitsFrom size_t    texUnit [virtual, inherited]
 

Disables all texture units from the given unit upwards.

Definition at line 253 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::_disableTextureUnit(), Ogre::RenderSystemCapabilities::getNumTextureUnits(), and Ogre::RenderSystem::mCapabilities.

Referenced by Ogre::SceneManager::setPass().

void Ogre::GLRenderSystem::_endFrame void    [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1045 of file OgreGLRenderSystem.cpp.

CullingMode Ogre::RenderSystem::_getCullingMode void    const [virtual, inherited]
 

Definition at line 269 of file OgreRenderSystem.cpp.

References Ogre::CullingMode, and Ogre::RenderSystem::mCullingMode.

GLfloat Ogre::GLRenderSystem::_getCurrentAnisotropy size_t    unit [private]
 

Definition at line 1479 of file OgreGLRenderSystem.cpp.

References mTextureTypes.

Referenced by _setTextureLayerAnisotropy().

unsigned int Ogre::RenderSystem::_getFaceCount void    const [virtual, inherited]
 

Reports the number of tris rendered since the last _beginGeometryCount call.

Definition at line 302 of file OgreRenderSystem.cpp.

Referenced by Ogre::SceneManager::_renderScene().

unsigned int Ogre::RenderSystem::_getVertexCount void    const [virtual, inherited]
 

Reports the number of vertices passed to the renderer since the last _beginGeometryCount call.

Definition at line 307 of file OgreRenderSystem.cpp.

Viewport * Ogre::RenderSystem::_getViewport void    [virtual, inherited]
 

Get the current active viewport for rendering.

Definition at line 164 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::mActiveViewport.

void Ogre::RenderSystem::_initRenderTargets void    [virtual, inherited]
 

Utility method for initialising all render targets attached to this rendering system.

Definition at line 69 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::mRenderTargets.

Referenced by Ogre::Root::startRendering().

void Ogre::GLRenderSystem::_makeProjectionMatrix Real    fovy,
Real    aspect,
Real    nearPlane,
Real    farPlane,
Matrix4   dest,
bool    forGpuProgram = false
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1206 of file OgreGLRenderSystem.cpp.

References Ogre::Real.

void Ogre::GLRenderSystem::_render const RenderOperation   op [virtual]
 

See RenderSystem.

Reimplemented from Ogre::RenderSystem.

Definition at line 1736 of file OgreGLRenderSystem.cpp.

References Ogre::SharedPtr< HardwareIndexBuffer >::get(), Ogre::SharedPtr< HardwareVertexBuffer >::get(), Ogre::VertexBufferBinding::getBuffer(), Ogre::VertexDeclaration::getElements(), Ogre::RenderSystemCapabilities::getNumTextureUnits(), glBindBufferARB_ptr, glClientActiveTextureARB_ptr, glSecondaryColorPointerEXT_ptr, Ogre::RenderSystemCapabilities::hasCapability(), Ogre::IndexData::indexBuffer, Ogre::IndexData::indexCount, Ogre::RenderOperation::indexData, Ogre::IndexData::indexStart, Ogre::RenderSystem::mCapabilities, mTextureCoordIndex, OgreGuard, OgreUnguard, Ogre::RenderOperation::operationType, Ogre::RSC_VBO, Ogre::RenderOperation::useIndexes, VBO_BUFFER_OFFSET, Ogre::VertexData::vertexBufferBinding, Ogre::VertexData::vertexCount, Ogre::RenderOperation::vertexData, Ogre::VertexData::vertexDeclaration, Ogre::VertexData::vertexStart, Ogre::VES_DIFFUSE, Ogre::VES_NORMAL, Ogre::VES_POSITION, Ogre::VES_SPECULAR, and Ogre::VES_TEXTURE_COORDINATES.

void Ogre::GLRenderSystem::_setAlphaRejectSettings CompareFunction    func,
unsigned char    value
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 948 of file OgreGLRenderSystem.cpp.

References Ogre::CompareFunction, and convertCompareFunction().

void Ogre::GLRenderSystem::_setColourBufferWriteEnabled bool    red,
bool    green,
bool    blue,
bool    alpha
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1141 of file OgreGLRenderSystem.cpp.

References Ogre::green, mColourWrite, and Ogre::red.

void Ogre::GLRenderSystem::_setCullingMode CullingMode    mode [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1051 of file OgreGLRenderSystem.cpp.

References Ogre::CULL_ANTICLOCKWISE, Ogre::CULL_CLOCKWISE, Ogre::CULL_NONE, Ogre::CullingMode, Ogre::RenderSystem::mActiveRenderTarget, Ogre::RenderSystem::mInvertVertexWinding, and Ogre::RenderTarget::requiresTextureFlipping().

Referenced by initialise().

void Ogre::GLRenderSystem::_setDepthBias ushort    bias [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1123 of file OgreGLRenderSystem.cpp.

References Ogre::ushort.

void Ogre::GLRenderSystem::_setDepthBufferCheckEnabled bool    enabled = true [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1097 of file OgreGLRenderSystem.cpp.

Referenced by _setDepthBufferParams().

void Ogre::GLRenderSystem::_setDepthBufferFunction CompareFunction    func = CMPF_LESS_EQUAL [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1118 of file OgreGLRenderSystem.cpp.

References Ogre::CompareFunction, and convertCompareFunction().

Referenced by _setDepthBufferParams().

void Ogre::GLRenderSystem::_setDepthBufferParams bool    depthTest = true,
bool    depthWrite = true,
CompareFunction    depthFunction = CMPF_LESS_EQUAL
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1090 of file OgreGLRenderSystem.cpp.

References _setDepthBufferCheckEnabled(), _setDepthBufferFunction(), _setDepthBufferWriteEnabled(), and Ogre::CompareFunction.

void Ogre::GLRenderSystem::_setDepthBufferWriteEnabled bool    enabled = true [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1110 of file OgreGLRenderSystem.cpp.

References mDepthWrite.

Referenced by _setDepthBufferParams().

void Ogre::GLRenderSystem::_setFog FogMode    mode,
const ColourValue   colour,
Real    density,
Real    start,
Real    end
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1165 of file OgreGLRenderSystem.cpp.

References Ogre::ColourValue::a, Ogre::ColourValue::b, Ogre::FOG_EXP, Ogre::FOG_EXP2, Ogre::FOG_LINEAR, Ogre::FogMode, Ogre::ColourValue::g, Ogre::ColourValue::r, and Ogre::Real.

void Ogre::GLRenderSystem::_setProjectionMatrix const Matrix4   m [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 674 of file OgreGLRenderSystem.cpp.

References Ogre::RenderSystem::mActiveRenderTarget, makeGLMatrix(), and Ogre::RenderTarget::requiresTextureFlipping().

void Ogre::GLRenderSystem::_setRasterisationMode SceneDetailLevel    level [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1237 of file OgreGLRenderSystem.cpp.

References Ogre::SceneDetailLevel, Ogre::SDL_POINTS, Ogre::SDL_SOLID, and Ogre::SDL_WIREFRAME.

void Ogre::GLRenderSystem::_setSceneBlending SceneBlendFactor    sourceFactor,
SceneBlendFactor    destFactor
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 939 of file OgreGLRenderSystem.cpp.

References getBlendMode(), and Ogre::SceneBlendFactor.

void Ogre::GLRenderSystem::_setSurfaceParams const ColourValue   ambient,
const ColourValue   diffuse,
const ColourValue   specular,
const ColourValue   emissive,
Real    shininess
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 688 of file OgreGLRenderSystem.cpp.

References Ogre::ColourValue::a, Ogre::ColourValue::b, Ogre::ColourValue::g, Ogre::ColourValue::r, and Ogre::Real.

void Ogre::GLRenderSystem::_setTexture size_t    unit,
bool    enabled,
const String   texname
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 716 of file OgreGLRenderSystem.cpp.

References Ogre::GLTexture::getGLID(), Ogre::GLTexture::getGLTextureType(), glActiveTextureARB_ptr, and mTextureTypes.

void Ogre::GLRenderSystem::_setTextureAddressingMode size_t    stage,
TextureUnitState::TextureAddressingMode    tam
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 846 of file OgreGLRenderSystem.cpp.

References glActiveTextureARB_ptr, and mTextureTypes.

void Ogre::GLRenderSystem::_setTextureBlendMode size_t    stage,
const LayerBlendModeEx   bm
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1500 of file OgreGLRenderSystem.cpp.

References Ogre::ColourValue::a, Ogre::LayerBlendModeEx::alphaArg1, Ogre::LayerBlendModeEx::alphaArg2, Ogre::ColourValue::b, Ogre::LayerBlendModeEx::blendType, Ogre::LayerBlendModeEx::colourArg1, Ogre::LayerBlendModeEx::colourArg2, Ogre::ColourValue::g, glActiveTextureARB_ptr, Ogre::RenderSystemCapabilities::hasCapability(), Ogre::LBS_CURRENT, Ogre::LBS_DIFFUSE, Ogre::LBS_MANUAL, Ogre::LBS_SPECULAR, Ogre::LBS_TEXTURE, Ogre::LBT_ALPHA, Ogre::LBT_COLOUR, Ogre::LBX_ADD, Ogre::LBX_ADD_SIGNED, Ogre::LBX_BLEND_CURRENT_ALPHA, Ogre::LBX_BLEND_DIFFUSE_ALPHA, Ogre::LBX_BLEND_TEXTURE_ALPHA, Ogre::LBX_DOTPRODUCT, Ogre::LBX_MODULATE, Ogre::LBX_MODULATE_X2, Ogre::LBX_MODULATE_X4, Ogre::LBX_SOURCE1, Ogre::LBX_SOURCE2, Ogre::LBX_SUBTRACT, Ogre::RenderSystem::mCapabilities, Ogre::LayerBlendModeEx::operation, Ogre::ColourValue::r, Ogre::RSC_BLENDING, Ogre::RSC_DOT3, Ogre::LayerBlendModeEx::source1, and Ogre::LayerBlendModeEx::source2.

void Ogre::GLRenderSystem::_setTextureCoordCalculation size_t    stage,
TexCoordCalcMethod    m
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 748 of file OgreGLRenderSystem.cpp.

References glActiveTextureARB_ptr, mAutoTextureMatrix, mUseAutoTextureMatrix, Ogre::TEXCALC_ENVIRONMENT_MAP, Ogre::TEXCALC_ENVIRONMENT_MAP_NORMAL, Ogre::TEXCALC_ENVIRONMENT_MAP_PLANAR, Ogre::TEXCALC_ENVIRONMENT_MAP_REFLECTION, Ogre::TEXCALC_NONE, and Ogre::TexCoordCalcMethod.

void Ogre::GLRenderSystem::_setTextureCoordSet size_t    stage,
size_t    index
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 743 of file OgreGLRenderSystem.cpp.

References mTextureCoordIndex.

void Ogre::GLRenderSystem::_setTextureLayerAnisotropy size_t    unit,
unsigned int    maxAnisotropy
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1487 of file OgreGLRenderSystem.cpp.

References _getCurrentAnisotropy(), Ogre::RenderSystemCapabilities::hasCapability(), Ogre::RenderSystem::mCapabilities, mTextureTypes, and Ogre::RSC_ANISOTROPY.

void Ogre::GLRenderSystem::_setTextureMatrix size_t    stage,
const Matrix4   xform
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 869 of file OgreGLRenderSystem.cpp.

References glActiveTextureARB_ptr, makeGLMatrix(), and mAutoTextureMatrix.

void Ogre::RenderSystem::_setTextureUnitFiltering size_t    unit,
FilterOptions    minFilter,
FilterOptions    magFilter,
FilterOptions    mipFilter
[virtual, inherited]
 

Sets the filtering options for a given texture unit.

Parameters:
unit  The texture unit to set the filtering options for
minFilter  The filter used when a texture is reduced in size
magFilter  The filter used when a texture is magnified
mipFilter  The filter used between mipmap levels, FO_NONE disables mipmapping

Definition at line 261 of file OgreRenderSystem.cpp.

References Ogre::FilterOptions, Ogre::FT_MAG, Ogre::FT_MIN, and Ogre::FT_MIP.

Referenced by Ogre::RenderSystem::_setTextureUnitSettings().

void Ogre::GLRenderSystem::_setTextureUnitFiltering size_t    unit,
FilterType    ftype,
FilterOptions    filter
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1429 of file OgreGLRenderSystem.cpp.

References Ogre::FilterOptions, Ogre::FilterType, Ogre::FO_ANISOTROPIC, Ogre::FO_LINEAR, Ogre::FO_NONE, Ogre::FO_POINT, Ogre::FT_MAG, Ogre::FT_MIN, Ogre::FT_MIP, getCombinedMinMipFilter(), glActiveTextureARB_ptr, mMinFilter, mMipFilter, mTextureTypes, OgreGuard, and OgreUnguard.

void Ogre::RenderSystem::_setTextureUnitSettings size_t    texUnit,
TextureUnitState   tl
[virtual, inherited]
 

Utility function for setting all the properties of a texture unit at once.

This method is also worth using over the individual texture unit settings because it only sets those settings which are different from the current settings for this unit, thus minimising render state changes.

Definition at line 169 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::_setAlphaRejectSettings(), Ogre::RenderSystem::_setTexture(), Ogre::RenderSystem::_setTextureAddressingMode(), Ogre::RenderSystem::_setTextureBlendMode(), Ogre::RenderSystem::_setTextureCoordCalculation(), Ogre::RenderSystem::_setTextureCoordSet(), Ogre::RenderSystem::_setTextureLayerAnisotropy(), Ogre::RenderSystem::_setTextureMatrix(), Ogre::RenderSystem::_setTextureUnitFiltering(), Ogre::FT_MAG, Ogre::FT_MIN, Ogre::FT_MIP, Ogre::TextureUnitState::getAlphaBlendMode(), Ogre::TextureUnitState::getAlphaRejectFunction(), Ogre::TextureUnitState::getAlphaRejectValue(), Ogre::TextureUnitState::getColourBlendMode(), Ogre::TextureUnitState::getTextureAddressingMode(), Ogre::TextureUnitState::getTextureAnisotropy(), Ogre::TextureUnitState::getTextureCoordSet(), Ogre::TextureUnitState::getTextureFiltering(), Ogre::TextureUnitState::getTextureName(), Ogre::TextureUnitState::getTextureTransform(), Ogre::TextureUnitState::mEffects, Ogre::TEXCALC_ENVIRONMENT_MAP, Ogre::TEXCALC_ENVIRONMENT_MAP_NORMAL, Ogre::TEXCALC_ENVIRONMENT_MAP_PLANAR, Ogre::TEXCALC_ENVIRONMENT_MAP_REFLECTION, and Ogre::TEXCALC_NONE.

Referenced by Ogre::SceneManager::renderSingleObject(), and Ogre::SceneManager::setPass().

void Ogre::GLRenderSystem::_setViewMatrix const Matrix4   m [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 656 of file OgreGLRenderSystem.cpp.

References makeGLMatrix(), mViewMatrix, mWorldMatrix, and setLights().

void Ogre::GLRenderSystem::_setViewport Viewport   vp [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 954 of file OgreGLRenderSystem.cpp.

References Ogre::Viewport::_clearUpdatedFlag(), Ogre::Viewport::_isUpdated(), Ogre::Viewport::getActualHeight(), Ogre::Viewport::getActualLeft(), Ogre::Viewport::getActualTop(), Ogre::Viewport::getActualWidth(), Ogre::RenderTarget::getHeight(), Ogre::Viewport::getTarget(), Ogre::RenderSystem::mActiveRenderTarget, and Ogre::RenderSystem::mActiveViewport.

void Ogre::RenderSystem::_setWorldMatrices const Matrix4   m,
unsigned short    count
[virtual, inherited]
 

Sets multiple world matrices (vertex blending).

Definition at line 458 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::_setWorldMatrix(), Ogre::RenderSystemCapabilities::hasCapability(), Ogre::RenderSystem::mCapabilities, Ogre::RenderSystem::mWorldMatrices, and Ogre::RSC_VERTEXBLENDING.

Referenced by Ogre::SceneManager::renderSingleObject().

void Ogre::GLRenderSystem::_setWorldMatrix const Matrix4   m [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 646 of file OgreGLRenderSystem.cpp.

References makeGLMatrix(), mViewMatrix, and mWorldMatrix.

void Ogre::RenderSystem::_updateAllRenderTargets void    [virtual, inherited]
 

Internal method for updating all render targets attached to this rendering system.

Definition at line 83 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::mPrioritisedRenderTargets.

Referenced by Ogre::Root::startRendering().

void Ogre::GLRenderSystem::_useLights const LightList   lights,
unsigned short    limit
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 559 of file OgreGLRenderSystem.cpp.

References Ogre::LightList, mCurrentLights, mLights, and setGLLight().

void Ogre::RenderSystem::attachRenderTarget RenderTarget   target [virtual, inherited]
 

Don't do this anymore, just allow via Root RenderSystem* regPtr = Root::getSingleton().getRenderSystem(); if (!regPtr || regPtr != this) Register self - library user has come to me direct Root::getSingleton().setRenderSystem(this);.

Definition at line 114 of file OgreRenderSystem.cpp.

References Ogre::RenderTarget::getName(), Ogre::RenderTarget::getPriority(), Ogre::RenderSystem::mPrioritisedRenderTargets, Ogre::RenderSystem::mRenderTargets, and OGRE_NUM_RENDERTARGET_GROUPS.

Referenced by createRenderTexture(), Ogre::D3D9RenderSystem::createRenderTexture(), Ogre::D3DRenderSystem::createRenderTexture(), createRenderWindow(), Ogre::D3D9RenderSystem::createRenderWindow(), and Ogre::D3DRenderSystem::createRenderWindow().

void Ogre::GLRenderSystem::bindGpuProgram GpuProgram   prg [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1899 of file OgreGLRenderSystem.cpp.

References Ogre::GLGpuProgram::bindProgram(), Ogre::GpuProgram::getType(), Ogre::GPT_VERTEX_PROGRAM, mCurrentFragmentProgram, and mCurrentVertexProgram.

void Ogre::GLRenderSystem::bindGpuProgramParameters GpuProgramType    gptype,
GpuProgramParametersSharedPtr    params
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1932 of file OgreGLRenderSystem.cpp.

References Ogre::GLGpuProgram::bindProgramParameters(), Ogre::GPT_VERTEX_PROGRAM, Ogre::GpuProgramParametersSharedPtr, Ogre::GpuProgramType, mCurrentFragmentProgram, and mCurrentVertexProgram.

void Ogre::GLRenderSystem::convertColourValue const ColourValue   colour,
unsigned long *    pDest
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1196 of file OgreGLRenderSystem.cpp.

References Ogre::ColourValue::getAsLongABGR(), and Ogre::ColourValue::getAsLongRGBA().

GLint Ogre::GLRenderSystem::convertCompareFunction CompareFunction    func [private]
 

Definition at line 1319 of file OgreGLRenderSystem.cpp.

References Ogre::CMPF_ALWAYS_FAIL, Ogre::CMPF_ALWAYS_PASS, Ogre::CMPF_EQUAL, Ogre::CMPF_GREATER, Ogre::CMPF_GREATER_EQUAL, Ogre::CMPF_LESS, Ogre::CMPF_LESS_EQUAL, Ogre::CMPF_NOT_EQUAL, and Ogre::CompareFunction.

Referenced by _setAlphaRejectSettings(), _setDepthBufferFunction(), setStencilBufferFunction(), and setStencilBufferParams().

GLint Ogre::GLRenderSystem::convertStencilOp StencilOperation    op [private]
 

Definition at line 1344 of file OgreGLRenderSystem.cpp.

References Ogre::SOP_DECREMENT, Ogre::SOP_INCREMENT, Ogre::SOP_INVERT, Ogre::SOP_KEEP, Ogre::SOP_REPLACE, Ogre::SOP_ZERO, and Ogre::StencilOperation.

Referenced by setStencilBufferDepthFailOperation(), setStencilBufferFailOperation(), setStencilBufferParams(), and setStencilBufferPassOperation().

RenderTexture * Ogre::GLRenderSystem::createRenderTexture const String   name,
unsigned int    width,
unsigned int    height
[virtual]
 

Creates and registers a render texture object.

Parameters:
name  The name for the new render texture. Note that names must be unique.
width  The requested width for the render texture. See Remarks for more info.
height  The requested width for the render texture. See Remarks for more info.
Returns:
On succes, a pointer to a new platform-dependernt, RenderTexture-derived class is returned. On failiure, NULL is returned.
Remarks:
Because a render texture is basically a wrapper around a texture object, the width and height parameters of this method just hint the preferred size for the texture. Depending on the hardware driver or the underlying API, these values might change when the texture is created.

Implements Ogre::RenderSystem.

Definition at line 534 of file OgreGLRenderSystem.cpp.

References Ogre::RenderSystem::attachRenderTarget().

RenderWindow * Ogre::GLRenderSystem::createRenderWindow const String   name,
unsigned int    width,
unsigned int    height,
unsigned int    colourDepth,
bool    fullScreen,
int    left = 0,
int    top = 0,
bool    depthBuffer = true,
RenderWindow   parentWindowHandle = 0
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 502 of file OgreGLRenderSystem.cpp.

References Ogre::RenderSystem::attachRenderTarget(), Except, initGL(), mGLSupport, Ogre::RenderSystem::mRenderTargets, Ogre::RenderSystem::mTextureManager, Ogre::RenderSystem::mVSync, and Ogre::GLSupport::newWindow().

Referenced by Ogre::Win32GLSupport::createWindow(), Ogre::SDLGLSupport::createWindow(), and Ogre::GTKGLSupport::createWindow().

void Ogre::GLRenderSystem::destroyRenderWindow RenderWindow   pWin
 

See RenderSystem.

Definition at line 542 of file OgreGLRenderSystem.cpp.

References Ogre::RenderSystem::mRenderTargets.

RenderTarget * Ogre::RenderSystem::detachRenderTarget const String   name [virtual, inherited]
 

Detaches the render target with the passed name from the render system and returns a pointer to it.

Note:
If the render target cannot be found, NULL is returned.

Definition at line 138 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::mPrioritisedRenderTargets, and Ogre::RenderSystem::mRenderTargets.

Referenced by Ogre::Root::detachRenderTarget().

GLint Ogre::GLRenderSystem::getBlendMode SceneBlendFactor    ogreBlend [private]
 

Definition at line 910 of file OgreGLRenderSystem.cpp.

References Ogre::SBF_DEST_ALPHA, Ogre::SBF_DEST_COLOUR, Ogre::SBF_ONE, Ogre::SBF_ONE_MINUS_DEST_ALPHA, Ogre::SBF_ONE_MINUS_DEST_COLOUR, Ogre::SBF_ONE_MINUS_SOURCE_ALPHA, Ogre::SBF_ONE_MINUS_SOURCE_COLOUR, Ogre::SBF_SOURCE_ALPHA, Ogre::SBF_SOURCE_COLOUR, Ogre::SBF_ZERO, and Ogre::SceneBlendFactor.

Referenced by _setSceneBlending().

const RenderSystemCapabilities* Ogre::RenderSystem::getCapabilities void    const [inherited]
 

Gets the capabilities of the render system.

Definition at line 720 of file OgreRenderSystem.h.

GLuint Ogre::GLRenderSystem::getCombinedMinMipFilter void    [private]
 

Definition at line 1380 of file OgreGLRenderSystem.cpp.

References Ogre::FO_ANISOTROPIC, Ogre::FO_LINEAR, Ogre::FO_NONE, and Ogre::FO_POINT.

Referenced by _setTextureUnitFiltering().

ConfigOptionMap & Ogre::GLRenderSystem::getConfigOptions void    [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 209 of file OgreGLRenderSystem.cpp.

References Ogre::ConfigOptionMap, Ogre::GLSupport::getConfigOptions(), and mGLSupport.

String Ogre::GLRenderSystem::getErrorDescription long    errorNumber [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1151 of file OgreGLRenderSystem.cpp.

const String & Ogre::GLRenderSystem::getName void    const [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 196 of file OgreGLRenderSystem.cpp.

Referenced by GLRenderSystem().

RenderTarget * Ogre::RenderSystem::getRenderTarget const String   name [virtual, inherited]
 

Returns a pointer to the render target with the passed name, or NULL if that render target cannot be found.

Definition at line 124 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::mRenderTargets.

Referenced by Ogre::Root::getRenderTarget().

bool Ogre::RenderSystem::getWaitForVerticalBlank void    const [inherited]
 

Returns true if the system is synchronising frames with the monitor vertical blank.

Definition at line 274 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::mVSync.

void Ogre::GLRenderSystem::initConfigOptions void    [private]
 

Definition at line 202 of file OgreGLRenderSystem.cpp.

References Ogre::GLSupport::addConfig(), mGLSupport, OgreGuard, and OgreUnguard.

Referenced by GLRenderSystem().

void Ogre::GLRenderSystem::initGL void    [private]
 

Definition at line 236 of file OgreGLRenderSystem.cpp.

References Ogre::GpuProgramManager::_pushSyntaxCode(), Ogre::GLSupport::checkExtension(), Ogre::GLSupport::checkMinGLVersion(), Ogre::GLSupport::getGLVendor(), Ogre::GLSupport::getProcAddress(), glActiveTextureARB_ptr, glBindBufferARB_ptr, glBindProgramARB_ptr, glBufferDataARB_ptr, glBufferSubDataARB_ptr, glClientActiveTextureARB_ptr, glCombinerInputNV_ptr, glCombinerOutputNV_ptr, glCombinerParameterfvNV_ptr, glCombinerParameteriNV_ptr, glCombinerStageParameterfvNV_ptr, glCompressedTexImage2DARB_ptr, glDeleteBuffersARB_ptr, glDeleteProgramsARB_ptr, glFinalCombinerInputNV_ptr, glGenBuffersARB_ptr, glGenProgramsARB_ptr, glGetBufferSubDataARB_ptr, glGetProgramivARB_ptr, glLoadProgramNV_ptr, glMapBufferARB_ptr, glProgramLocalParameter4fvARB_ptr, glProgramParameter4fvNV_ptr, glProgramStringARB_ptr, glSecondaryColorPointerEXT_ptr, glTrackMatrixNV_ptr, glUnmapBufferARB_ptr, InitATIFragmentShaderExtensions(), Ogre::GLSupport::initialiseExtensions(), Ogre::RenderSystemCapabilities::log(), Ogre::RenderSystem::mCapabilities, mGLSupport, mGpuProgramManager, mHardwareBufferManager, Ogre::GLGpuProgramManager::registerProgramFactory(), Ogre::RSC_ANISOTROPY, Ogre::RSC_AUTOMIPMAP, Ogre::RSC_BLENDING, Ogre::RSC_CUBEMAPPING, Ogre::RSC_DOT3, Ogre::RSC_FRAGMENT_PROGRAM, Ogre::RSC_HWSTENCIL, Ogre::RSC_TEXTURE_COMPRESSION, Ogre::RSC_TEXTURE_COMPRESSION_DXT, Ogre::RSC_TEXTURE_COMPRESSION_VTC, Ogre::RSC_VBO, Ogre::RSC_VERTEX_PROGRAM, Ogre::RenderSystemCapabilities::setCapability(), Ogre::RenderSystemCapabilities::setFragmentProgramConstantBoolCount(), Ogre::RenderSystemCapabilities::setFragmentProgramConstantFloatCount(), Ogre::RenderSystemCapabilities::setFragmentProgramConstantIntCount(), Ogre::RenderSystemCapabilities::setMaxFragmentProgramVersion(), Ogre::RenderSystemCapabilities::setMaxVertexProgramVersion(), Ogre::RenderSystemCapabilities::setNumTextureUnits(), Ogre::RenderSystemCapabilities::setStencilBufferBitDepth(), Ogre::RenderSystemCapabilities::setVertexProgramConstantBoolCount(), Ogre::RenderSystemCapabilities::setVertexProgramConstantFloatCount(), and Ogre::RenderSystemCapabilities::setVertexProgramConstantIntCount().

Referenced by createRenderWindow().

RenderWindow * Ogre::GLRenderSystem::initialise bool    autoCreateWindow [virtual]
 

See RenderSystem.

Reimplemented from Ogre::RenderSystem.

Definition at line 225 of file OgreGLRenderSystem.cpp.

References _setCullingMode(), Ogre::GLSupport::createWindow(), Ogre::RenderSystem::mCullingMode, mGLSupport, and Ogre::GLSupport::start().

Referenced by reinitialise().

void Ogre::GLRenderSystem::initInputDevices void    [private]
 

void Ogre::GLRenderSystem::makeGLMatrix GLfloat    gl_matrix[16],
const Matrix4   m
[private]
 

Definition at line 633 of file OgreGLRenderSystem.cpp.

Referenced by _setProjectionMatrix(), _setTextureMatrix(), _setViewMatrix(), and _setWorldMatrix().

void Ogre::GLRenderSystem::processInputDevices void    [private]
 

void Ogre::GLRenderSystem::reinitialise void    [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 468 of file OgreGLRenderSystem.cpp.

References initialise(), and shutdown().

void Ogre::GLRenderSystem::setAmbientLight float    r,
float    g,
float    b
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 482 of file OgreGLRenderSystem.cpp.

void Ogre::GLRenderSystem::setConfigOption const String   name,
const String   value
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 214 of file OgreGLRenderSystem.cpp.

References mGLSupport, and Ogre::GLSupport::setConfigOption().

void Ogre::GLRenderSystem::setGLLight size_t    index,
Light   lt
[private]
 

Definition at line 579 of file OgreGLRenderSystem.cpp.

References Ogre::ColourValue::a, Ogre::ColourValue::b, Ogre::ColourValue::g, Ogre::Light::getAttenuationConstant(), Ogre::Light::getAttenuationLinear(), Ogre::Light::getAttenuationQuadric(), Ogre::Light::getDiffuseColour(), Ogre::Light::getSpecularColour(), Ogre::Light::getSpotlightOuterAngle(), Ogre::Light::getType(), Ogre::ColourValue::r, and setGLLightPositionDirection().

Referenced by _useLights().

void Ogre::GLRenderSystem::setGLLightPositionDirection Light   lt,
size_t    lightindex
[private]
 

Internal method to set pos / direction of a light.

Definition at line 1685 of file OgreGLRenderSystem.cpp.

References Ogre::Light::getDerivedDirection(), Ogre::Light::getDerivedPosition(), Ogre::Light::getType(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

Referenced by setGLLight(), and setLights().

void Ogre::RenderSystem::setInvertVertexWinding bool    invert [virtual, inherited]
 

Sets whether or not vertex windings set should be inverted; this can be important for rendering reflections.

Definition at line 519 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::mInvertVertexWinding.

Referenced by Ogre::SceneManager::_renderScene().

void Ogre::GLRenderSystem::setLightingEnabled bool    enabled [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1157 of file OgreGLRenderSystem.cpp.

void Ogre::GLRenderSystem::setLights   [private]
 

Definition at line 982 of file OgreGLRenderSystem.cpp.

References mLights, and setGLLightPositionDirection().

Referenced by _beginFrame(), and _setViewMatrix().

void Ogre::GLRenderSystem::setNormaliseNormals bool    normalise [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1890 of file OgreGLRenderSystem.cpp.

void Ogre::GLRenderSystem::setShadingType ShadeOptions    so [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 488 of file OgreGLRenderSystem.cpp.

References Ogre::ShadeOptions, and Ogre::SO_FLAT.

void Ogre::GLRenderSystem::setStencilBufferDepthFailOperation StencilOperation    op [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1303 of file OgreGLRenderSystem.cpp.

References convertStencilOp(), mStencilFail, mStencilPass, mStencilZFail, and Ogre::StencilOperation.

void Ogre::GLRenderSystem::setStencilBufferFailOperation StencilOperation    op [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1295 of file OgreGLRenderSystem.cpp.

References convertStencilOp(), mStencilFail, mStencilPass, mStencilZFail, and Ogre::StencilOperation.

void Ogre::GLRenderSystem::setStencilBufferFunction CompareFunction    func [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1271 of file OgreGLRenderSystem.cpp.

References Ogre::CompareFunction, convertCompareFunction(), mStencilFunc, mStencilMask, and mStencilRef.

void Ogre::GLRenderSystem::setStencilBufferMask ulong    mask [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1287 of file OgreGLRenderSystem.cpp.

References mStencilFunc, mStencilMask, mStencilRef, and Ogre::ulong.

void Ogre::GLRenderSystem::setStencilBufferParams CompareFunction    func = CMPF_ALWAYS_PASS,
ulong    refValue = 0,
ulong    mask = 0xFFFFFFFF,
StencilOperation    stencilFailOp = SOP_KEEP,
StencilOperation    depthFailOp = SOP_KEEP,
StencilOperation    passOp = SOP_KEEP
[virtual]
 

See RenderSystem.

Remarks:
This is overridden because GL likes to set stencil options together, so we can provide a better custom implementation of this than using the superclass.

Reimplemented from Ogre::RenderSystem.

Definition at line 1365 of file OgreGLRenderSystem.cpp.

References Ogre::CompareFunction, convertCompareFunction(), convertStencilOp(), mStencilFail, mStencilFunc, mStencilMask, mStencilPass, mStencilRef, mStencilZFail, Ogre::StencilOperation, and Ogre::ulong.

void Ogre::GLRenderSystem::setStencilBufferPassOperation StencilOperation    op [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1311 of file OgreGLRenderSystem.cpp.

References convertStencilOp(), mStencilFail, mStencilPass, mStencilZFail, and Ogre::StencilOperation.

void Ogre::GLRenderSystem::setStencilBufferReferenceValue ulong    refValue [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1279 of file OgreGLRenderSystem.cpp.

References mStencilFunc, mStencilMask, mStencilRef, and Ogre::ulong.

void Ogre::GLRenderSystem::setStencilCheckEnabled bool    enabled [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1259 of file OgreGLRenderSystem.cpp.

void Ogre::GLRenderSystem::setVertexBufferBinding VertexBufferBinding   binding [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1732 of file OgreGLRenderSystem.cpp.

void Ogre::GLRenderSystem::setVertexDeclaration VertexDeclaration   decl [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1728 of file OgreGLRenderSystem.cpp.

void Ogre::RenderSystem::setWaitForVerticalBlank bool    enabled [inherited]
 

Defines whether or now fullscreen render windows wait for the vertical blank before flipping buffers.

Remarks:
By default, all rendering windows wait for a vertical blank (when the CRT beam turns off briefly to move from the bottom right of the screen back to the top left) before flipping the screen buffers. This ensures that the image you see on the screen is steady. However it restricts the frame rate to the refresh rate of the monitor, and can slow the frame rate down. You can speed this up by not waiting for the blank, but this has the downside of introducing 'tearing' artefacts where part of the previous frame is still displayed as the buffers are switched. Speed vs quality, you choose.
Note:
Has NO effect on windowed mode render targets. Only affects fullscreen mode.
Parameters:
enabled  If true, the system waits for vertical blanks - quality over speed. If false it doesn't - speed over quality.

Definition at line 279 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::mVSync.

Referenced by Ogre::Win32GLSupport::createWindow(), and Ogre::D3DRenderSystem::initialise().

void Ogre::GLRenderSystem::shutdown void    [virtual]
 

See RenderSystem.

Reimplemented from Ogre::RenderSystem.

Definition at line 474 of file OgreGLRenderSystem.cpp.

References mGLSupport, mStopRendering, and Ogre::GLSupport::stop().

Referenced by reinitialise().

void Ogre::RenderSystem::softwareVertexBlend VertexData   vertexData,
Matrix4   pMatrices
[virtual, inherited]
 

Performs a software vertex blend on the passed in operation.

Remarks:
This function is supplied to update vertex data with blends done in software, either because no hardware support is available, or that you need the results of the blend for some other CPU operations.

Definition at line 321 of file OgreRenderSystem.cpp.

References Ogre::Matrix4::extract3x3Matrix(), Ogre::VertexDeclaration::findElementBySemantic(), Ogre::SharedPtr< HardwareVertexBuffer >::get(), Ogre::VertexBufferBinding::getBuffer(), Ogre::VertexElement::getOffset(), Ogre::VertexElement::getSource(), Ogre::Vector3::normalise(), Ogre::Real, Ogre::VertexData::softwareBlendInfo, Ogre::VertexData::vertexBufferBinding, Ogre::VertexData::vertexCount, Ogre::VertexData::vertexDeclaration, Ogre::VES_NORMAL, Ogre::VES_POSITION, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

Referenced by Ogre::RenderSystem::_render().

void Ogre::GLRenderSystem::unbindGpuProgram GpuProgramType    gptype [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1913 of file OgreGLRenderSystem.cpp.

References Ogre::GPT_VERTEX_PROGRAM, Ogre::GpuProgramType, mCurrentFragmentProgram, mCurrentVertexProgram, and Ogre::GLGpuProgram::unbindProgram().

String Ogre::GLRenderSystem::validateConfigOptions void    [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 219 of file OgreGLRenderSystem.cpp.

References mGLSupport, and Ogre::GLSupport::validateConfig().


Member Data Documentation

RenderTarget* Ogre::RenderSystem::mActiveRenderTarget [protected, inherited]
 

The Active render target.

Definition at line 752 of file OgreRenderSystem.h.

Referenced by _setCullingMode(), Ogre::D3D9RenderSystem::_setCullingMode(), Ogre::D3DRenderSystem::_setCullingMode(), _setProjectionMatrix(), Ogre::D3D9RenderSystem::_setProjectionMatrix(), Ogre::D3DRenderSystem::_setProjectionMatrix(), _setViewport(), Ogre::D3D9RenderSystem::_setViewport(), Ogre::D3DRenderSystem::_setViewport(), GLRenderSystem(), and Ogre::RenderSystem::RenderSystem().

Viewport* Ogre::RenderSystem::mActiveViewport [protected, inherited]
 

Definition at line 764 of file OgreRenderSystem.h.

Referenced by _beginFrame(), Ogre::D3D9RenderSystem::_beginFrame(), Ogre::D3DRenderSystem::_beginFrame(), Ogre::RenderSystem::_getViewport(), _setViewport(), Ogre::D3D9RenderSystem::_setViewport(), Ogre::D3DRenderSystem::_setViewport(), and Ogre::RenderSystem::RenderSystem().

GLfloat Ogre::GLRenderSystem::mAutoTextureMatrix[16] [private]
 

Definition at line 101 of file OgreGLRenderSystem.h.

Referenced by _setTextureCoordCalculation(), and _setTextureMatrix().

RenderSystemCapabilities* Ogre::RenderSystem::mCapabilities [protected, inherited]
 

Used to store the capabilities of the graphics card.

Definition at line 761 of file OgreRenderSystem.h.

Referenced by Ogre::RenderSystem::_disableTextureUnitsFrom(), _render(), _setTextureBlendMode(), _setTextureLayerAnisotropy(), Ogre::RenderSystem::_setWorldMatrices(), Ogre::D3D9RenderSystem::convertPixelShaderCaps(), Ogre::D3D9RenderSystem::convertVertexShaderCaps(), Ogre::D3DRenderSystem::createRenderWindow(), Ogre::D3D9RenderSystem::initCapabilities(), initGL(), Ogre::RenderSystem::RenderSystem(), Ogre::D3D9RenderSystem::~D3D9RenderSystem(), Ogre::D3DRenderSystem::~D3DRenderSystem(), and ~GLRenderSystem().

bool Ogre::GLRenderSystem::mColourWrite[4] [private]
 

Definition at line 80 of file OgreGLRenderSystem.h.

Referenced by _beginFrame(), _setColourBufferWriteEnabled(), and GLRenderSystem().

CullingMode Ogre::RenderSystem::mCullingMode [protected, inherited]
 

Definition at line 766 of file OgreRenderSystem.h.

Referenced by Ogre::RenderSystem::_getCullingMode(), Ogre::D3DRenderSystem::_setCullingMode(), Ogre::D3D9RenderSystem::_setViewport(), Ogre::D3DRenderSystem::_setViewport(), initialise(), and Ogre::RenderSystem::RenderSystem().

GLGpuProgram* Ogre::GLRenderSystem::mCurrentFragmentProgram [private]
 

Definition at line 114 of file OgreGLRenderSystem.h.

Referenced by bindGpuProgram(), bindGpuProgramParameters(), GLRenderSystem(), and unbindGpuProgram().

unsigned short Ogre::GLRenderSystem::mCurrentLights [private]
 

Definition at line 109 of file OgreGLRenderSystem.h.

Referenced by _useLights(), and GLRenderSystem().

GLGpuProgram* Ogre::GLRenderSystem::mCurrentVertexProgram [private]
 

Definition at line 113 of file OgreGLRenderSystem.h.

Referenced by bindGpuProgram(), bindGpuProgramParameters(), GLRenderSystem(), and unbindGpuProgram().

bool Ogre::GLRenderSystem::mDepthWrite [private]
 

Definition at line 78 of file OgreGLRenderSystem.h.

Referenced by _beginFrame(), and _setDepthBufferWriteEnabled().

size_t Ogre::RenderSystem::mFaceCount [protected, inherited]
 

Definition at line 770 of file OgreRenderSystem.h.

Referenced by Ogre::RenderSystem::_beginGeometryCount(), and Ogre::RenderSystem::_render().

GLSupport* Ogre::GLRenderSystem::mGLSupport [private]
 

GL support class, used for creating windows etc.

Definition at line 95 of file OgreGLRenderSystem.h.

Referenced by createRenderWindow(), getConfigOptions(), GLRenderSystem(), initConfigOptions(), initGL(), initialise(), setConfigOption(), shutdown(), validateConfigOptions(), and ~GLRenderSystem().

GLGpuProgramManager* Ogre::GLRenderSystem::mGpuProgramManager [private]
 

Definition at line 107 of file OgreGLRenderSystem.h.

Referenced by initGL(), and ~GLRenderSystem().

HardwareBufferManager* Ogre::GLRenderSystem::mHardwareBufferManager [private]
 

Definition at line 106 of file OgreGLRenderSystem.h.

Referenced by initGL(), and ~GLRenderSystem().

bool Ogre::RenderSystem::mInvertVertexWinding [protected, inherited]
 

Definition at line 776 of file OgreRenderSystem.h.

Referenced by _setCullingMode(), Ogre::D3D9RenderSystem::_setCullingMode(), Ogre::D3DRenderSystem::_setCullingMode(), Ogre::RenderSystem::RenderSystem(), and Ogre::RenderSystem::setInvertVertexWinding().

Light* Ogre::GLRenderSystem::mLights[MAX_LIGHTS] [private]
 

Definition at line 49 of file OgreGLRenderSystem.h.

Referenced by _useLights(), GLRenderSystem(), and setLights().

FilterOptions Ogre::GLRenderSystem::mMinFilter [private]
 

Definition at line 57 of file OgreGLRenderSystem.h.

Referenced by _setTextureUnitFiltering(), and GLRenderSystem().

FilterOptions Ogre::GLRenderSystem::mMipFilter [private]
 

Definition at line 58 of file OgreGLRenderSystem.h.

Referenced by _setTextureUnitFiltering(), and GLRenderSystem().

RenderTargetPriorityMap Ogre::RenderSystem::mPrioritisedRenderTargets [protected, inherited]
 

The render targets, ordered by priority.

Definition at line 750 of file OgreRenderSystem.h.

Referenced by Ogre::RenderSystem::_updateAllRenderTargets(), Ogre::RenderSystem::attachRenderTarget(), Ogre::RenderSystem::detachRenderTarget(), and Ogre::RenderSystem::shutdown().

RenderTargetMap Ogre::RenderSystem::mRenderTargets [protected, inherited]
 

The render targets.

Definition at line 748 of file OgreRenderSystem.h.

Referenced by Ogre::RenderSystem::_initRenderTargets(), Ogre::RenderSystem::attachRenderTarget(), createRenderWindow(), Ogre::D3D9RenderSystem::createRenderWindow(), Ogre::D3DRenderSystem::createRenderWindow(), destroyRenderWindow(), Ogre::D3D9RenderSystem::destroyRenderWindow(), Ogre::RenderSystem::detachRenderTarget(), Ogre::RenderSystem::getRenderTarget(), Ogre::D3D9RenderSystem::ResizeRepositionWindow(), Ogre::RenderSystem::shutdown(), and ~GLRenderSystem().

GLint Ogre::GLRenderSystem::mStencilFail [private]
 

Definition at line 89 of file OgreGLRenderSystem.h.

Referenced by GLRenderSystem(), setStencilBufferDepthFailOperation(), setStencilBufferFailOperation(), setStencilBufferParams(), and setStencilBufferPassOperation().

GLint Ogre::GLRenderSystem::mStencilFunc [private]
 

Definition at line 87 of file OgreGLRenderSystem.h.

Referenced by GLRenderSystem(), setStencilBufferFunction(), setStencilBufferMask(), setStencilBufferParams(), and setStencilBufferReferenceValue().

GLuint Ogre::GLRenderSystem::mStencilMask [private]
 

Definition at line 88 of file OgreGLRenderSystem.h.

Referenced by GLRenderSystem(), setStencilBufferFunction(), setStencilBufferMask(), setStencilBufferParams(), and setStencilBufferReferenceValue().

GLint Ogre::GLRenderSystem::mStencilPass [private]
 

Definition at line 89 of file OgreGLRenderSystem.h.

Referenced by GLRenderSystem(), setStencilBufferDepthFailOperation(), setStencilBufferFailOperation(), setStencilBufferParams(), and setStencilBufferPassOperation().

GLint Ogre::GLRenderSystem::mStencilRef [private]
 

Definition at line 87 of file OgreGLRenderSystem.h.

Referenced by GLRenderSystem(), setStencilBufferFunction(), setStencilBufferMask(), setStencilBufferParams(), and setStencilBufferReferenceValue().

GLint Ogre::GLRenderSystem::mStencilZFail [private]
 

Definition at line 89 of file OgreGLRenderSystem.h.

Referenced by GLRenderSystem(), setStencilBufferDepthFailOperation(), setStencilBufferFailOperation(), setStencilBufferParams(), and setStencilBufferPassOperation().

bool Ogre::GLRenderSystem::mStopRendering [private]
 

Definition at line 44 of file OgreGLRenderSystem.h.

Referenced by shutdown().

size_t Ogre::GLRenderSystem::mTextureCoordIndex[OGRE_MAX_TEXTURE_COORD_SETS] [private]
 

Definition at line 61 of file OgreGLRenderSystem.h.

Referenced by _render(), _setTextureCoordSet(), and GLRenderSystem().

TextureManager* Ogre::RenderSystem::mTextureManager [protected, inherited]
 

Definition at line 758 of file OgreRenderSystem.h.

Referenced by createRenderWindow(), Ogre::D3D9RenderSystem::createRenderWindow(), Ogre::D3DRenderSystem::createRenderWindow(), Ogre::D3D9RenderSystem::D3D9RenderSystem(), Ogre::RenderSystem::RenderSystem(), Ogre::D3D9RenderSystem::~D3D9RenderSystem(), Ogre::D3DRenderSystem::~D3DRenderSystem(), and ~GLRenderSystem().

Matrix4 Ogre::GLRenderSystem::mTextureMatrix [private]
 

Definition at line 54 of file OgreGLRenderSystem.h.

GLenum Ogre::GLRenderSystem::mTextureTypes[OGRE_MAX_TEXTURE_LAYERS] [private]
 

holds texture type settings for every stage

Definition at line 64 of file OgreGLRenderSystem.h.

Referenced by _getCurrentAnisotropy(), _setTexture(), _setTextureAddressingMode(), _setTextureLayerAnisotropy(), _setTextureUnitFiltering(), and GLRenderSystem().

bool Ogre::GLRenderSystem::mUseAutoTextureMatrix [private]
 

Definition at line 100 of file OgreGLRenderSystem.h.

Referenced by _setTextureCoordCalculation().

size_t Ogre::RenderSystem::mVertexCount [protected, inherited]
 

Definition at line 771 of file OgreRenderSystem.h.

Referenced by Ogre::RenderSystem::_beginGeometryCount(), and Ogre::RenderSystem::_render().

Matrix4 Ogre::GLRenderSystem::mViewMatrix [private]
 

Definition at line 52 of file OgreGLRenderSystem.h.

Referenced by _setViewMatrix(), _setWorldMatrix(), and GLRenderSystem().

bool Ogre::RenderSystem::mVSync [protected, inherited]
 

Reimplemented in Ogre::D3D9RenderSystem.

Definition at line 768 of file OgreRenderSystem.h.

Referenced by createRenderWindow(), Ogre::RenderSystem::getWaitForVerticalBlank(), Ogre::RenderSystem::RenderSystem(), and Ogre::RenderSystem::setWaitForVerticalBlank().

Matrix4 Ogre::RenderSystem::mWorldMatrices[256] [protected, inherited]
 

Saved set of world matrices.

Definition at line 774 of file OgreRenderSystem.h.

Referenced by Ogre::RenderSystem::_render(), and Ogre::RenderSystem::_setWorldMatrices().

Matrix4 Ogre::GLRenderSystem::mWorldMatrix [private]
 

Definition at line 53 of file OgreGLRenderSystem.h.

Referenced by _setViewMatrix(), _setWorldMatrix(), and GLRenderSystem().


The documentation for this class was generated from the following files:

Copyright © 2002-2003 by The OGRE Team
Last modified Wed Jan 21 00:12:41 2004