OGRE 14.3
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::GLRenderSystem Class Reference

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

#include <OgreGLRenderSystem.h>

+ Inheritance diagram for Ogre::GLRenderSystem:

Public Member Functions

 GLRenderSystem ()
 
 ~GLRenderSystem ()
 
void _copyContentsToMemory (Viewport *vp, const Box &src, const PixelBox &dst, RenderWindow::FrameBuffer buffer) override
 Copies the current contents of the render target to a pixelbox.
 
DepthBuffer_createDepthBufferFor (RenderTarget *renderTarget) override
 
RenderWindow_createRenderWindow (const String &name, unsigned int width, unsigned int height, bool fullScreen, const NameValuePairList *miscParams=0) override
 
void _endFrame (void) override
 
GLStateCacheManager * _getStateCacheManager ()
 
void _initialise () override
 
void _oneTimeContextInitialization () override
 
void _render (const RenderOperation &op) override
 
void _setAlphaRejectSettings (CompareFunction func, unsigned char value, bool alphaToCoverage) override
 
void _setCullingMode (CullingMode mode) override
 
void _setDepthBias (float constantBias, float slopeScaleBias) override
 
void _setDepthBufferParams (bool depthTest=true, bool depthWrite=true, CompareFunction depthFunction=CMPF_LESS_EQUAL) override
 
void _setFog (FogMode mode)
 
void _setLineWidth (float width) override
 
void _setPointParameters (bool attenuationEnabled, Real minSize, Real maxSize) override
 
void _setPointSpritesEnabled (bool enabled) override
 
void _setPolygonMode (PolygonMode level) override
 
void _setRenderTarget (RenderTarget *target) override
 Set current render target to target, enabling its GL context if needed.
 
void _setSampler (size_t unit, Sampler &sampler) override
 
void _setSurfaceTracking (TrackVertexColourType tracking)
 
void _setTexture (size_t unit, bool enabled, const TexturePtr &tex) override
 
void _setTextureBlendMode (size_t stage, const LayerBlendModeEx &bm) override
 
void _setTextureCoordCalculation (size_t stage, TexCoordCalcMethod m, const Frustum *frustum=0) override
 
void _setTextureCoordSet (size_t stage, size_t index) override
 
void _setTextureMatrix (size_t stage, const Matrix4 &xform) override
 
void _setViewport (Viewport *vp) override
 
void _switchContext (GLContext *context)
 Switch GL context, dealing with involved internal cached states too.
 
void _unregisterContext (GLContext *context) override
 Unregister a render target->context mapping.
 
void _useLights (unsigned short limit) override
 
void applyFixedFunctionParams (const GpuProgramParametersPtr &params, uint16 variabilityMask) override
 
void beginProfileEvent (const String &eventName) override
 This marks the beginning of an event for GPU profiling.
 
void bindGpuProgram (GpuProgram *prg) override
 
void bindGpuProgramParameters (GpuProgramType gptype, const GpuProgramParametersPtr &params, uint16 variabilityMask) override
 
void clearFrameBuffer (unsigned int buffers, const ColourValue &colour=ColourValue::Black, float depth=1.0f, unsigned short stencil=0) override
 
HardwareOcclusionQuerycreateHardwareOcclusionQuery (void) override
 
MultiRenderTargetcreateMultiRenderTarget (const String &name) override
 
RenderSystemCapabilitiescreateRenderSystemCapabilities () const override
 
void destroyRenderWindow (const String &name) override
 
void enableClipPlane (ushort index, bool enable)
 
void endProfileEvent (void) override
 Ends the currently active GPU profiling event.
 
const GpuProgramParametersPtrgetFixedFunctionParams (TrackVertexColourType tracking, FogMode fog) override
 
const StringgetName (void) const override
 
void initConfigOptions () override
 
void initialiseFromRenderSystemCapabilities (RenderSystemCapabilities *caps, RenderTarget *primary) override
 
void markProfileEvent (const String &eventName) override
 Marks an instantaneous event for graphics profilers.
 
void setClipPlane (ushort index, Real A, Real B, Real C, Real D)
 
void setColourBlendState (const ColourBlendState &state) override
 
void setLightingEnabled (bool enabled) override
 
void setNormaliseNormals (bool normalise) override
 
void setProjectionMatrix (const Matrix4 &m)
 
void setScissorTest (bool enabled, const Rect &rect=Rect()) override
 
void setShadingType (ShadeOptions so) override
 
void setStencilState (const StencilState &state) override
 
void setViewMatrix (const Matrix4 &m)
 
void setWorldMatrix (const Matrix4 &m)
 
void shutdown (void) override
 
void unbindGpuProgram (GpuProgramType gptype) override
 

Detailed Description

Implementation of GL as a rendering system.

Constructor & Destructor Documentation

◆ GLRenderSystem()

Ogre::GLRenderSystem::GLRenderSystem ( )

◆ ~GLRenderSystem()

Ogre::GLRenderSystem::~GLRenderSystem ( )

Member Function Documentation

◆ getFixedFunctionParams()

const GpuProgramParametersPtr & Ogre::GLRenderSystem::getFixedFunctionParams ( TrackVertexColourType tracking,
FogMode fog )
override

◆ applyFixedFunctionParams()

void Ogre::GLRenderSystem::applyFixedFunctionParams ( const GpuProgramParametersPtr & params,
uint16 variabilityMask )
override

◆ getName()

const String & Ogre::GLRenderSystem::getName ( void ) const
override

◆ _initialise()

void Ogre::GLRenderSystem::_initialise ( )
override

◆ initConfigOptions()

void Ogre::GLRenderSystem::initConfigOptions ( )
override

◆ createRenderSystemCapabilities()

RenderSystemCapabilities * Ogre::GLRenderSystem::createRenderSystemCapabilities ( ) const
override

◆ initialiseFromRenderSystemCapabilities()

void Ogre::GLRenderSystem::initialiseFromRenderSystemCapabilities ( RenderSystemCapabilities * caps,
RenderTarget * primary )
override

◆ shutdown()

void Ogre::GLRenderSystem::shutdown ( void )
override

◆ setShadingType()

void Ogre::GLRenderSystem::setShadingType ( ShadeOptions so)
override

◆ setLightingEnabled()

void Ogre::GLRenderSystem::setLightingEnabled ( bool enabled)
override

◆ _createRenderWindow()

RenderWindow * Ogre::GLRenderSystem::_createRenderWindow ( const String & name,
unsigned int width,
unsigned int height,
bool fullScreen,
const NameValuePairList * miscParams = 0 )
override

◆ _createDepthBufferFor()

DepthBuffer * Ogre::GLRenderSystem::_createDepthBufferFor ( RenderTarget * renderTarget)
override

◆ createMultiRenderTarget()

MultiRenderTarget * Ogre::GLRenderSystem::createMultiRenderTarget ( const String & name)
override

◆ destroyRenderWindow()

void Ogre::GLRenderSystem::destroyRenderWindow ( const String & name)
override

◆ setNormaliseNormals()

void Ogre::GLRenderSystem::setNormaliseNormals ( bool normalise)
override

◆ _useLights()

void Ogre::GLRenderSystem::_useLights ( unsigned short limit)
override

◆ setWorldMatrix()

void Ogre::GLRenderSystem::setWorldMatrix ( const Matrix4 & m)

◆ setViewMatrix()

void Ogre::GLRenderSystem::setViewMatrix ( const Matrix4 & m)

◆ setProjectionMatrix()

void Ogre::GLRenderSystem::setProjectionMatrix ( const Matrix4 & m)

◆ _setSurfaceTracking()

void Ogre::GLRenderSystem::_setSurfaceTracking ( TrackVertexColourType tracking)

◆ _setPointParameters()

void Ogre::GLRenderSystem::_setPointParameters ( bool attenuationEnabled,
Real minSize,
Real maxSize )
override

◆ _setLineWidth()

void Ogre::GLRenderSystem::_setLineWidth ( float width)
override

◆ _setPointSpritesEnabled()

void Ogre::GLRenderSystem::_setPointSpritesEnabled ( bool enabled)
override

◆ _setTexture()

void Ogre::GLRenderSystem::_setTexture ( size_t unit,
bool enabled,
const TexturePtr & tex )
override

◆ _setSampler()

void Ogre::GLRenderSystem::_setSampler ( size_t unit,
Sampler & sampler )
override

◆ _setTextureCoordSet()

void Ogre::GLRenderSystem::_setTextureCoordSet ( size_t stage,
size_t index )
override

◆ _setTextureCoordCalculation()

void Ogre::GLRenderSystem::_setTextureCoordCalculation ( size_t stage,
TexCoordCalcMethod m,
const Frustum * frustum = 0 )
override

◆ _setTextureBlendMode()

void Ogre::GLRenderSystem::_setTextureBlendMode ( size_t stage,
const LayerBlendModeEx & bm )
override

◆ _setTextureMatrix()

void Ogre::GLRenderSystem::_setTextureMatrix ( size_t stage,
const Matrix4 & xform )
override

◆ _setAlphaRejectSettings()

void Ogre::GLRenderSystem::_setAlphaRejectSettings ( CompareFunction func,
unsigned char value,
bool alphaToCoverage )
override

◆ _setViewport()

void Ogre::GLRenderSystem::_setViewport ( Viewport * vp)
override

◆ _endFrame()

void Ogre::GLRenderSystem::_endFrame ( void )
override

◆ _setCullingMode()

void Ogre::GLRenderSystem::_setCullingMode ( CullingMode mode)
override

◆ _setDepthBufferParams()

void Ogre::GLRenderSystem::_setDepthBufferParams ( bool depthTest = true,
bool depthWrite = true,
CompareFunction depthFunction = CMPF_LESS_EQUAL )
override

References Ogre::CMPF_LESS_EQUAL.

◆ _setDepthBias()

void Ogre::GLRenderSystem::_setDepthBias ( float constantBias,
float slopeScaleBias )
override

◆ setColourBlendState()

void Ogre::GLRenderSystem::setColourBlendState ( const ColourBlendState & state)
override

◆ _setFog()

void Ogre::GLRenderSystem::_setFog ( FogMode mode)

◆ setClipPlane()

void Ogre::GLRenderSystem::setClipPlane ( ushort index,
Real A,
Real B,
Real C,
Real D )

◆ enableClipPlane()

void Ogre::GLRenderSystem::enableClipPlane ( ushort index,
bool enable )

◆ _setPolygonMode()

void Ogre::GLRenderSystem::_setPolygonMode ( PolygonMode level)
override

◆ setStencilState()

void Ogre::GLRenderSystem::setStencilState ( const StencilState & state)
override

◆ _render()

void Ogre::GLRenderSystem::_render ( const RenderOperation & op)
override

◆ bindGpuProgram()

void Ogre::GLRenderSystem::bindGpuProgram ( GpuProgram * prg)
override

◆ unbindGpuProgram()

void Ogre::GLRenderSystem::unbindGpuProgram ( GpuProgramType gptype)
override

◆ bindGpuProgramParameters()

void Ogre::GLRenderSystem::bindGpuProgramParameters ( GpuProgramType gptype,
const GpuProgramParametersPtr & params,
uint16 variabilityMask )
override

◆ setScissorTest()

void Ogre::GLRenderSystem::setScissorTest ( bool enabled,
const Rect & rect = Rect() )
override

◆ clearFrameBuffer()

void Ogre::GLRenderSystem::clearFrameBuffer ( unsigned int buffers,
const ColourValue & colour = ColourValue::Black,
float depth = 1.0f,
unsigned short stencil = 0 )
override

◆ createHardwareOcclusionQuery()

HardwareOcclusionQuery * Ogre::GLRenderSystem::createHardwareOcclusionQuery ( void )
override

◆ _oneTimeContextInitialization()

void Ogre::GLRenderSystem::_oneTimeContextInitialization ( )
override

◆ _switchContext()

void Ogre::GLRenderSystem::_switchContext ( GLContext * context)

Switch GL context, dealing with involved internal cached states too.

◆ _setRenderTarget()

void Ogre::GLRenderSystem::_setRenderTarget ( RenderTarget * target)
override

Set current render target to target, enabling its GL context if needed.

◆ _unregisterContext()

void Ogre::GLRenderSystem::_unregisterContext ( GLContext * context)
override

Unregister a render target->context mapping.

If the context of target is the current context, change the context to the main context so it can be destroyed safely.

Note
This is automatically called by the destructor of GLContext.

◆ _getStateCacheManager()

GLStateCacheManager * Ogre::GLRenderSystem::_getStateCacheManager ( )
inline

◆ beginProfileEvent()

void Ogre::GLRenderSystem::beginProfileEvent ( const String & eventName)
override

This marks the beginning of an event for GPU profiling.

◆ endProfileEvent()

void Ogre::GLRenderSystem::endProfileEvent ( void )
override

Ends the currently active GPU profiling event.

◆ markProfileEvent()

void Ogre::GLRenderSystem::markProfileEvent ( const String & eventName)
override

Marks an instantaneous event for graphics profilers.


This is equivalent to calling

See also
beginProfileEvent and
endProfileEvent back to back.

◆ _copyContentsToMemory()

void Ogre::GLRenderSystem::_copyContentsToMemory ( Viewport * vp,
const Box & src,
const PixelBox & dst,
RenderWindow::FrameBuffer buffer )
override

Copies the current contents of the render target to a pixelbox.

Remarks
See suggestPixelFormat for a tip as to the best pixel format to extract into, although you can use whatever format you like and the results will be converted.

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