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]
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, const String &windowTitle="OGRE Render Window")
 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) const
 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, const Frustum *frustum=0)
 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 _makeProjectionMatrix (Real left, Real right, Real bottom, Real top, Real nearPlane, Real farPlane, Matrix4 &dest, bool forGpuProgram=false)
 See RenderSystem.

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

void setClipPlane (ushort index, Real A, Real B, Real C, Real D)
 See RenderSystem.

void enableClipPlane (ushort index, bool enable)
 See RenderSystem.

void _setRasterisationMode (SceneDetailLevel level)
 See RenderSystem.

void setStencilCheckEnabled (bool enabled)
 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, bool twoSidedOperation=false)
 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.

void setClipPlanes (const PlaneList &clipPlanes)
 See RenderSystem.

void setScissorTest (bool enabled, size_t left=0, size_t top=0, size_t right=800, size_t bottom=600)
 See RenderSystem.

void clearFrameBuffer (unsigned int buffers, const ColourValue &colour=ColourValue::Black, Real depth=1.0f, unsigned short stencil=0)
 Clears one or more frame buffers on the active render target.

HardwareOcclusionQuerycreateHardwareOcclusionQuery (void)
virtual void destroyRenderWindow (const String &name)
 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 void destroyRenderTexture (const String &name)
 Destroys a render texture.

virtual void destroyRenderTarget (const String &name)
 Destroys a render target of any sort.

virtual void attachRenderTarget (RenderTarget &target)
 Attaches the passed render target to the render system.

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.

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 _notifyCameraRemoved (const Camera *cam)
 Utility method to notify all render targets that a camera has been removed, incase they were referring to it as their viewer.

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

virtual void setClipPlane (ushort index, const Plane &p)
 Set a clipping plane.

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 Types

typedef std::vector< Vector4PlaneList2

Private Methods

void setGLClipPlanes () const
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) const
void setLights ()
GLint convertCompareFunction (CompareFunction func) const
GLint convertStencilOp (StencilOperation op, bool invert=false) const
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) const

Private Attributes

bool mStopRendering
LightmLights [MAX_LIGHTS]
PlaneList2 mClipPlanes
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]
GLSupportmGLSupport
 GL support class, used for creating windows etc.

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

Detailed Description

Implementation of SDL as a rendering system.

Definition at line 42 of file OgreGLRenderSystem.h.


Member Typedef Documentation

typedef std::vector<Vector4> Ogre::GLRenderSystem::PlaneList2 [private]
 

Definition at line 54 of file OgreGLRenderSystem.h.


Constructor & Destructor Documentation

Ogre::GLRenderSystem::GLRenderSystem  
 

Definition at line 110 of file OgreGLRenderSystem.cpp.

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

Ogre::GLRenderSystem::~GLRenderSystem  
 

Definition at line 190 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 1108 of file OgreGLRenderSystem.cpp.

References clearFrameBuffer(), Except, Ogre::FBT_COLOUR, Ogre::FBT_DEPTH, Ogre::Viewport::getBackgroundColour(), Ogre::Viewport::getClearEveryFrame(), Ogre::RenderSystem::mActiveViewport, OgreGuard, and OgreUnguard.

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

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

Definition at line 321 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 272 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::_setTexture(), and Ogre::RenderSystem::_setTextureMatrix().

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 278 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 1130 of file OgreGLRenderSystem.cpp.

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

Definition at line 294 of file OgreRenderSystem.cpp.

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

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

Definition at line 1578 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 327 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 332 of file OgreRenderSystem.cpp.

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

Get the current active viewport for rendering.

Definition at line 183 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 72 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::mRenderTargets.

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

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1331 of file OgreGLRenderSystem.cpp.

References Ogre::Real.

void Ogre::GLRenderSystem::_makeProjectionMatrix Real    left,
Real    right,
Real    bottom,
Real    top,
Real    nearPlane,
Real    farPlane,
Matrix4   dest,
bool    forGpuProgram = false
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 2155 of file OgreGLRenderSystem.cpp.

References Ogre::Real.

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 1291 of file OgreGLRenderSystem.cpp.

References Ogre::Real.

void Ogre::RenderSystem::_notifyCameraRemoved const Camera   cam [virtual, inherited]
 

Utility method to notify all render targets that a camera has been removed, incase they were referring to it as their viewer.

Definition at line 390 of file OgreRenderSystem.cpp.

References Ogre::RenderTarget::_notifyCameraRemoved(), and Ogre::RenderSystem::mRenderTargets.

Referenced by Ogre::SceneManager::removeAllCameras(), and Ogre::SceneManager::removeCamera().

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

See RenderSystem.

Reimplemented from Ogre::RenderSystem.

Definition at line 1808 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, glDisableVertexAttribArrayARB_ptr, glEnableVertexAttribArrayARB_ptr, GLenum, GLint, glSecondaryColorPointerEXT_ptr, glVertexAttribPointerARB_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::RSC_VERTEX_PROGRAM, Ogre::RenderOperation::useIndexes, VBO_BUFFER_OFFSET, Ogre::VertexData::vertexBufferBinding, Ogre::VertexData::vertexCount, Ogre::RenderOperation::vertexData, Ogre::VertexData::vertexDeclaration, Ogre::VertexData::vertexStart, Ogre::VES_BLEND_INDICES, Ogre::VES_BLEND_WEIGHTS, 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 1061 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 1226 of file OgreGLRenderSystem.cpp.

References Ogre::green, and mColourWrite.

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1136 of file OgreGLRenderSystem.cpp.

References Ogre::CULL_ANTICLOCKWISE, Ogre::CULL_CLOCKWISE, Ogre::CULL_NONE, Ogre::CullingMode, GLint, 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 1208 of file OgreGLRenderSystem.cpp.

References Ogre::ushort.

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1182 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 1203 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 1175 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 1195 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 1250 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, GLint, Ogre::ColourValue::r, and Ogre::Real.

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 745 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 1357 of file OgreGLRenderSystem.cpp.

References GLenum, 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 1052 of file OgreGLRenderSystem.cpp.

References getBlendMode(), GLint, 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 759 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 787 of file OgreGLRenderSystem.cpp.

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

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 959 of file OgreGLRenderSystem.cpp.

References glActiveTextureARB_ptr, GLint, and mTextureTypes.

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1599 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, GLenum, 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,
const Frustum   frustum = 0
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 826 of file OgreGLRenderSystem.cpp.

References Ogre::Frustum::getProjectionMatrix(), Ogre::Frustum::getViewMatrix(), glActiveTextureARB_ptr, makeGLMatrix(), mAutoTextureMatrix, mUseAutoTextureMatrix, Ogre::TEXCALC_ENVIRONMENT_MAP, Ogre::TEXCALC_ENVIRONMENT_MAP_NORMAL, Ogre::TEXCALC_ENVIRONMENT_MAP_PLANAR, Ogre::TEXCALC_ENVIRONMENT_MAP_REFLECTION, Ogre::TEXCALC_NONE, Ogre::TEXCALC_PROJECTIVE_TEXTURE, and Ogre::TexCoordCalcMethod.

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 821 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 1586 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 982 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 286 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 1528 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 188 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, Ogre::TEXCALC_NONE, and Ogre::TEXCALC_PROJECTIVE_TEXTURE.

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 730 of file OgreGLRenderSystem.cpp.

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

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1067 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(), GLsizei, 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 337 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 720 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 86 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::mPrioritisedRenderTargets.

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

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 619 of file OgreGLRenderSystem.cpp.

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

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

Attaches the passed render target to the render system.

Definition at line 133 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 1998 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 2029 of file OgreGLRenderSystem.cpp.

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

void Ogre::GLRenderSystem::clearFrameBuffer unsigned int    buffers,
const ColourValue   colour = ColourValue::Black,
Real    depth = 1.0f,
unsigned short    stencil = 0
[virtual]
 

Clears one or more frame buffers on the active render target.

Parameters:
buffers  Combination of one or more elements of FrameBufferType denoting which buffers are to be cleared
colour  The colour to clear the colour buffer with, if enabled
depth  The value to initialise the depth buffer with, if enabled
stencil  The value to initialise the stencil buffer with, if enabled.

Implements Ogre::RenderSystem.

Definition at line 2105 of file OgreGLRenderSystem.cpp.

References Ogre::ColourValue::a, Ogre::ColourValue::b, Ogre::FBT_COLOUR, Ogre::FBT_DEPTH, Ogre::FBT_STENCIL, Ogre::ColourValue::g, mColourWrite, mDepthWrite, Ogre::ColourValue::r, and Ogre::Real.

Referenced by _beginFrame().

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1281 of file OgreGLRenderSystem.cpp.

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

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

Definition at line 1429 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, Ogre::CompareFunction, and GLint.

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

GLint Ogre::GLRenderSystem::convertStencilOp StencilOperation    op,
bool    invert = false
const [private]
 

Definition at line 1454 of file OgreGLRenderSystem.cpp.

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

Referenced by setStencilBufferParams().

HardwareOcclusionQuery * Ogre::GLRenderSystem::createHardwareOcclusionQuery void   
 

Definition at line 2211 of file OgreGLRenderSystem.cpp.

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 594 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 563 of file OgreGLRenderSystem.cpp.

References Ogre::RenderSystem::attachRenderTarget(), Except, initGL(), mGLInitialized, 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::RenderSystem::destroyRenderTarget const String   name [virtual, inherited]
 

Destroys a render target of any sort.

Definition at line 127 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::detachRenderTarget().

Referenced by Ogre::RenderSystem::destroyRenderTexture(), and Ogre::RenderSystem::destroyRenderWindow().

void Ogre::RenderSystem::destroyRenderTexture const String   name [virtual, inherited]
 

Destroys a render texture.

Definition at line 122 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::destroyRenderTarget().

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

void Ogre::RenderSystem::destroyRenderWindow const String   name [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 117 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::destroyRenderTarget().

void Ogre::GLRenderSystem::destroyRenderWindow RenderWindow   pWin
 

See RenderSystem.

Definition at line 602 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 157 of file OgreRenderSystem.cpp.

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

Referenced by Ogre::RenderSystem::destroyRenderTarget(), and Ogre::Root::detachRenderTarget().

void Ogre::GLRenderSystem::enableClipPlane ushort    index,
bool    enable
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 2206 of file OgreGLRenderSystem.cpp.

References Ogre::ushort.

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

Definition at line 1023 of file OgreGLRenderSystem.cpp.

References GLint, 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 728 of file OgreRenderSystem.h.

Referenced by Ogre::SceneManager::_renderScene(), Ogre::SceneManager::initShadowVolumeMaterials(), Ogre::VertexData::prepareForShadowVolume(), Ogre::SceneManager::renderShadowVolumesToStencil(), and Ogre::SceneManager::setShadowTechnique().

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

Definition at line 1479 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 224 of file OgreGLRenderSystem.cpp.

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

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1236 of file OgreGLRenderSystem.cpp.

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 211 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 143 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 299 of file OgreRenderSystem.cpp.

References Ogre::RenderSystem::mVSync.

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

Definition at line 217 of file OgreGLRenderSystem.cpp.

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

Referenced by GLRenderSystem().

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

Definition at line 251 of file OgreGLRenderSystem.cpp.

References Ogre::GpuProgramManager::_pushSyntaxCode(), Ogre::GLSupport::checkExtension(), Ogre::GLSupport::checkMinGLVersion(), Ogre::GLSupport::getGLVendor(), Ogre::GLSupport::getProcAddress(), glActiveStencilFaceEXT_ptr, glActiveTextureARB_ptr, glBeginOcclusionQueryNV_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, glDeleteOcclusionQueriesNV_ptr, glDeleteProgramsARB_ptr, glDisableVertexAttribArrayARB_ptr, glEnableVertexAttribArrayARB_ptr, glEndOcclusionQueryNV_ptr, glFinalCombinerInputNV_ptr, glGenBuffersARB_ptr, glGenOcclusionQueriesNV_ptr, glGenProgramsARB_ptr, glGetBufferSubDataARB_ptr, glGetOcclusionQueryuivNV_ptr, glGetProgramivARB_ptr, GLint, glLoadProgramNV_ptr, glMapBufferARB_ptr, glProgramLocalParameter4fvARB_ptr, glProgramParameter4fvNV_ptr, glProgramStringARB_ptr, glSecondaryColorPointerEXT_ptr, glTrackMatrixNV_ptr, glUnmapBufferARB_ptr, glVertexAttribPointerARB_ptr, InitATIFragmentShaderExtensions(), Ogre::GLSupport::initialiseExtensions(), Ogre::RenderSystemCapabilities::log(), Ogre::RenderSystem::mCapabilities, mGLInitialized, 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_HWOCCLUSION, Ogre::RSC_HWSTENCIL, Ogre::RSC_INFINITE_FAR_PLANE, Ogre::RSC_SCISSOR_TEST, Ogre::RSC_STENCIL_WRAP, Ogre::RSC_TEXTURE_COMPRESSION, Ogre::RSC_TEXTURE_COMPRESSION_DXT, Ogre::RSC_TEXTURE_COMPRESSION_VTC, Ogre::RSC_TWO_SIDED_STENCIL, Ogre::RSC_USER_CLIP_PLANES, Ogre::RSC_VBO, Ogre::RSC_VERTEX_FORMAT_UBYTE4, 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,
const String   windowTitle = "OGRE Render Window"
[virtual]
 

See RenderSystem.

Reimplemented from Ogre::RenderSystem.

Definition at line 240 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 707 of file OgreGLRenderSystem.cpp.

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

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

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 529 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 543 of file OgreGLRenderSystem.cpp.

void Ogre::RenderSystem::setClipPlane ushort    index,
const Plane   p
[virtual, inherited]
 

Set a clipping plane.

Definition at line 385 of file OgreRenderSystem.cpp.

References Ogre::Plane::d, Ogre::Plane::normal, Ogre::ushort, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

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

void Ogre::GLRenderSystem::setClipPlane ushort    index,
Real    A,
Real    B,
Real    C,
Real    D
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 2184 of file OgreGLRenderSystem.cpp.

References mClipPlanes, Ogre::Real, and Ogre::ushort.

void Ogre::GLRenderSystem::setClipPlanes const PlaneList   clipPlanes [virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 2041 of file OgreGLRenderSystem.cpp.

References Ogre::Plane::d, Except, GLenum, Ogre::Plane::normal, Ogre::PlaneList, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 229 of file OgreGLRenderSystem.cpp.

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

void Ogre::GLRenderSystem::setGLClipPlanes   const [private]
 

Definition at line 2194 of file OgreGLRenderSystem.cpp.

References mClipPlanes, Ogre::Vector4::w, Ogre::Vector4::x, Ogre::Vector4::y, and Ogre::Vector4::z.

Referenced by _setViewMatrix().

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

Definition at line 653 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(), GLenum, 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 1783 of file OgreGLRenderSystem.cpp.

References Ogre::Light::getAs4DVector(), Ogre::Light::getDerivedDirection(), Ogre::Light::getType(), Ogre::Vector4::val, and Ogre::Vector4::w.

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 380 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 1242 of file OgreGLRenderSystem.cpp.

void Ogre::GLRenderSystem::setLights   [private]
 

Definition at line 1095 of file OgreGLRenderSystem.cpp.

References mLights, and setGLLightPositionDirection().

Referenced by _useLights().

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1989 of file OgreGLRenderSystem.cpp.

void Ogre::GLRenderSystem::setScissorTest bool    enabled,
size_t    left = 0,
size_t    top = 0,
size_t    right = 800,
size_t    bottom = 600
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 2075 of file OgreGLRenderSystem.cpp.

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

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 549 of file OgreGLRenderSystem.cpp.

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

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,
bool    twoSidedOperation = false
[virtual]
 

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1391 of file OgreGLRenderSystem.cpp.

References Ogre::CompareFunction, convertCompareFunction(), convertStencilOp(), Except, glActiveStencilFaceEXT_ptr, Ogre::RenderSystemCapabilities::hasCapability(), Ogre::RenderSystem::mCapabilities, Ogre::RSC_TWO_SIDED_STENCIL, Ogre::StencilOperation, and Ogre::ulong.

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1379 of file OgreGLRenderSystem.cpp.

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1804 of file OgreGLRenderSystem.cpp.

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 1800 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 304 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 535 of file OgreGLRenderSystem.cpp.

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

Referenced by reinitialise().

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

See RenderSystem.

Implements Ogre::RenderSystem.

Definition at line 2012 of file OgreGLRenderSystem.cpp.

References Ogre::GPT_FRAGMENT_PROGRAM, 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 234 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 801 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(), Ogre::RenderSystem::RenderSystem(), and setScissorTest().

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

Definition at line 813 of file OgreRenderSystem.h.

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

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

Definition at line 103 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 810 of file OgreRenderSystem.h.

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

PlaneList2 Ogre::GLRenderSystem::mClipPlanes [private]
 

Definition at line 55 of file OgreGLRenderSystem.h.

Referenced by GLRenderSystem(), setClipPlane(), and setGLClipPlanes().

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

Definition at line 88 of file OgreGLRenderSystem.h.

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

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

Definition at line 815 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 118 of file OgreGLRenderSystem.h.

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

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

Definition at line 113 of file OgreGLRenderSystem.h.

Referenced by _useLights(), and GLRenderSystem().

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

Definition at line 117 of file OgreGLRenderSystem.h.

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

bool Ogre::GLRenderSystem::mDepthWrite [private]
 

Definition at line 86 of file OgreGLRenderSystem.h.

Referenced by _setDepthBufferWriteEnabled(), and clearFrameBuffer().

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

Definition at line 819 of file OgreRenderSystem.h.

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

bool Ogre::GLRenderSystem::mGLInitialized [private]
 

Definition at line 106 of file OgreGLRenderSystem.h.

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

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

GL support class, used for creating windows etc.

Definition at line 97 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 111 of file OgreGLRenderSystem.h.

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

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

Definition at line 110 of file OgreGLRenderSystem.h.

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

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

Definition at line 825 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 51 of file OgreGLRenderSystem.h.

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

FilterOptions Ogre::GLRenderSystem::mMinFilter [private]
 

Definition at line 65 of file OgreGLRenderSystem.h.

Referenced by _setTextureUnitFiltering(), and GLRenderSystem().

FilterOptions Ogre::GLRenderSystem::mMipFilter [private]
 

Definition at line 66 of file OgreGLRenderSystem.h.

Referenced by _setTextureUnitFiltering(), and GLRenderSystem().

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

The render targets, ordered by priority.

Definition at line 799 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 797 of file OgreRenderSystem.h.

Referenced by Ogre::RenderSystem::_initRenderTargets(), Ogre::RenderSystem::_notifyCameraRemoved(), 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().

bool Ogre::GLRenderSystem::mStopRendering [private]
 

Definition at line 46 of file OgreGLRenderSystem.h.

Referenced by shutdown().

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

Definition at line 69 of file OgreGLRenderSystem.h.

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

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

Definition at line 807 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 62 of file OgreGLRenderSystem.h.

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

holds texture type settings for every stage

Definition at line 72 of file OgreGLRenderSystem.h.

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

bool Ogre::GLRenderSystem::mUseAutoTextureMatrix [private]
 

Definition at line 102 of file OgreGLRenderSystem.h.

Referenced by _setTextureCoordCalculation().

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

Definition at line 820 of file OgreRenderSystem.h.

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

Matrix4 Ogre::GLRenderSystem::mViewMatrix [private]
 

Definition at line 60 of file OgreGLRenderSystem.h.

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

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

Reimplemented in Ogre::D3D9RenderSystem.

Definition at line 817 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 823 of file OgreRenderSystem.h.

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

Matrix4 Ogre::GLRenderSystem::mWorldMatrix [private]
 

Definition at line 61 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 Fri May 14 23:24:07 2004