![]() |
OGRE 14.2
Object-Oriented Graphics Rendering Engine
|
Implementation of GL ES 2.x as a rendering system. More...
#include <OgreGLES2RenderSystem.h>
Inheritance diagram for Ogre::GLES2RenderSystem:Public Member Functions | |
| GLES2RenderSystem () | |
| virtual | ~GLES2RenderSystem () |
| void | _bindVao (GLContext *context, uint32 vao) override |
| Bind VAO, context should be equal to current context, as VAOs are not shared | |
| 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 |
| Creates a DepthBuffer that can be attached to the specified RenderTarget. | |
| RenderWindow * | _createRenderWindow (const String &name, unsigned int width, unsigned int height, bool fullScreen, const NameValuePairList *miscParams=0) override |
| Creates a new rendering window. | |
| uint32 | _createVao () override |
| Create VAO on current context. | |
| void | _destroyDepthBuffer (RenderTarget *pRenderWnd) |
| void | _destroyFbo (GLContext *context, uint32 fbo) override |
| Destroy FBO immediately or defer if it was created on other context. | |
| void | _destroyVao (GLContext *context, uint32 vao) override |
| Destroy VAO immediately or defer if it was created on other context. | |
| void | _endFrame (void) override |
| Ends rendering of a frame to the current viewport. | |
| GLES2StateCacheManager * | _getStateCacheManager () |
| void | _initialise () override |
| Start up the renderer using the settings selected (Or the defaults if none have been selected). | |
| void | _oneTimeContextInitialization () override |
| One time initialization for the RenderState of a context. | |
| void | _render (const RenderOperation &op) override |
| Render something to the active viewport. | |
| void | _setAlphaRejectSettings (CompareFunction func, unsigned char value, bool alphaToCoverage) override |
| Sets the global alpha rejection approach for future renders. | |
| void | _setCullingMode (CullingMode mode) override |
| Sets the culling mode for the render system based on the 'vertex winding'. | |
| void | _setDepthBias (float constantBias, float slopeScaleBias) override |
| Sets the depth bias, NB you should use the Material version of this. | |
| void | _setDepthBufferParams (bool depthTest=true, bool depthWrite=true, CompareFunction depthFunction=CMPF_LESS_EQUAL) override |
| Sets the mode of operation for depth buffer tests from this point onwards. | |
| void | _setLineWidth (float width) override |
| Set the line width when drawing as RenderOperation::OT_LINE_LIST/ RenderOperation::OT_LINE_STRIP. | |
| void | _setPolygonMode (PolygonMode level) override |
| Sets how to rasterise triangles, as points, wireframe or solid polys. | |
| 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 |
| set the sampler settings for the given texture unit | |
| void | _setTexture (size_t unit, bool enabled, const TexturePtr &tex) override |
| Sets the texture to bind to a given texture unit. | |
| void | _setViewport (Viewport *vp) override |
| Sets the provided viewport as the active one for future rendering operations. | |
| 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 | beginProfileEvent (const String &eventName) override |
| This marks the beginning of an event for GPU profiling. | |
| void | bindGpuProgram (GpuProgram *prg) override |
| Binds a given GpuProgram (but not the parameters). | |
| void | bindGpuProgramParameters (GpuProgramType gptype, const GpuProgramParametersPtr ¶ms, uint16 mask) override |
| Bind Gpu program parameters. | |
| void | clearFrameBuffer (unsigned int buffers, const ColourValue &colour=ColourValue::Black, float depth=1.0f, unsigned short stencil=0) override |
| GLint | convertCompareFunction (CompareFunction func) const |
| GLint | convertStencilOp (StencilOperation op, bool invert=false) const |
| HardwareOcclusionQuery * | createHardwareOcclusionQuery (void) override |
| Create an object for performing hardware occlusion queries. | |
| MultiRenderTarget * | createMultiRenderTarget (const String &name) override |
| Create a MultiRenderTarget, which is a render target that renders to multiple RenderTextures at once. | |
| RenderSystemCapabilities * | createRenderSystemCapabilities () const override |
| Query the real capabilities of the GPU and driver in the RenderSystem. | |
| void | destroyRenderWindow (const String &name) override |
| Destroys a render window. | |
| void | endProfileEvent (void) override |
| Ends the currently active GPU profiling event. | |
| const String & | getName (void) const override |
| Returns the name of the rendering system. | |
| void | initialiseContext (RenderWindow *primary) |
| void | initialiseFromRenderSystemCapabilities (RenderSystemCapabilities *caps, RenderTarget *primary) override |
| Initialize the render system from the capabilities. | |
| void | markProfileEvent (const String &eventName) override |
| Marks an instantaneous event for graphics profilers. | |
| void | setColourBlendState (const ColourBlendState &state) override |
| Sets the global blending factors for combining subsequent renders with the existing frame contents. | |
| void | setScissorTest (bool enabled, const Rect &rect=Rect()) override |
| Sets the 'scissor region' i.e. | |
| void | setStencilState (const StencilState &state) override |
| This method allows you to set all the stencil buffer parameters in one call. | |
| void | shutdown (void) override |
| Shutdown the renderer and cleanup resources. | |
| void | unbindGpuProgram (GpuProgramType gptype) override |
| Unbinds GpuPrograms of a given GpuProgramType. | |
Public Member Functions inherited from Ogre::GLRenderSystemCommon | |
| virtual | ~GLRenderSystemCommon () |
| void | _completeDeferredVaoFboDestruction () |
| Complete destruction of VAOs and FBOs deferred while creator context was not current. | |
| void | _convertProjectionMatrix (const Matrix4 &matrix, Matrix4 &dest, bool) override |
| Converts a uniform projection matrix to suitable for this render system. | |
| GLContext * | _getCurrentContext () |
| Returns the current context. | |
| virtual void | _getDepthStencilFormatFor (PixelFormat internalColourFormat, uint32 *depthFormat, uint32 *stencilFormat) |
| Mimics D3D9RenderSystem::_getDepthStencilFormatFor, if no FBO RTT manager, outputs GL_NONE. | |
| GLContext * | _getMainContext () |
| Returns the main context. | |
| bool | checkExtension (const String &ext) const |
| Check if an extension is available. | |
| Real | getMaximumDepthInputValue (void) override |
| Gets the maximum (farthest) depth value to be used when rendering using identity transforms. | |
| Real | getMinimumDepthInputValue (void) override |
| Gets the minimum (closest) depth value to be used when rendering using identity transforms. | |
| bool | hasMinGLVersion (int major, int minor) const |
| Check if GL Version is supported. | |
| void | postExtraThreadsStarted () override |
| Tell the rendersystem to perform any tasks it needs to directly after other threads which might access the rendering API are registered. | |
| void | preExtraThreadsStarted () override |
| Tell the rendersystem to perform any prep tasks it needs to directly before other threads which might access the rendering API are registered. | |
| void | registerThread () override |
| Register the an additional thread which may make calls to rendersystem-related objects. | |
| void | setConfigOption (const String &name, const String &value) override |
| Specific options: | |
| void | unregisterThread () override |
| Unregister an additional thread which may make calls to rendersystem-related objects. | |
Public Member Functions inherited from Ogre::RenderSystem | |
| RenderSystem () | |
| Default Constructor. | |
| virtual | ~RenderSystem () |
| Destructor. | |
| virtual void | _beginFrame () |
| Signifies the beginning of a frame, i.e. | |
| virtual void | _beginGeometryCount (void) |
| The RenderSystem will keep a count of tris rendered, this resets the count. | |
| void | _cleanupDepthBuffers (bool bCleanManualBuffers=true) |
| Removes all depth buffers. | |
| 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 | _dispatchCompute (const Vector3i &workgroupDim) |
| virtual unsigned int | _getBatchCount (void) const |
| Reports the number of batches rendered since the last _beginGeometryCount call. | |
| virtual CullingMode | _getCullingMode (void) const |
| const String & | _getDefaultViewportMaterialScheme (void) const |
| Returns the default material scheme used by the render system. | |
| 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 Viewport * | _getViewport (void) |
| Get the current active viewport for rendering. | |
| void | _initRenderTargets (void) |
| Utility method for initialising all render targets attached to this rendering system. | |
| void | _notifyCameraRemoved (const Camera *cam) |
| Utility method to notify all render targets that a camera has been removed, in case they were referring to it as their viewer. | |
| void | _setColourBufferWriteEnabled (bool red, bool green, bool blue, bool alpha) |
| virtual void | _setDepthClamp (bool enable) |
| Clamp depth values to near and far plane rather than discarding. | |
| void | _setFog (FogMode f) |
| virtual void | _setPointParameters (bool attenuationEnabled, Real minSize, Real maxSize) |
| virtual void | _setPointSpritesEnabled (bool enabled) |
| Sets whether or not rendering points using OT_POINT_LIST will render point sprites (textured quads) or plain points. | |
| void | _setProjectionMatrix (Matrix4 m) |
| void | _setSceneBlending (SceneBlendFactor sourceFactor, SceneBlendFactor destFactor, SceneBlendOperation op=SBO_ADD) |
| void | _setSeparateSceneBlending (SceneBlendFactor sourceFactor, SceneBlendFactor destFactor, SceneBlendFactor sourceFactorAlpha, SceneBlendFactor destFactorAlpha, SceneBlendOperation op=SBO_ADD, SceneBlendOperation alphaOp=SBO_ADD) |
| virtual void | _setTextureBlendMode (size_t unit, const LayerBlendModeEx &bm) |
| Sets the texture blend modes from a TextureUnitState record. | |
| virtual void | _setTextureCoordCalculation (size_t unit, TexCoordCalcMethod m, const Frustum *frustum=0) |
| Sets a method for automatically calculating texture coordinates for a stage. | |
| virtual void | _setTextureCoordSet (size_t unit, size_t index) |
| Sets the texture coordinate set to use for a texture unit. | |
| virtual void | _setTextureMatrix (size_t unit, const Matrix4 &xform) |
| Sets the texture coordinate transformation matrix for a texture unit. | |
| virtual void | _setTextureProjectionRelativeTo (bool enabled, const Vector3 &pos) |
| Notify the rendersystem that it should adjust texture projection to be relative to a different origin. | |
| virtual void | _setTextureUnitSettings (size_t texUnit, TextureUnitState &tl) |
| Utility function for setting all the properties of a texture unit at once. | |
| void | _setViewMatrix (const Matrix4 &m) |
| void | _setWorldMatrix (const Matrix4 &m) |
| virtual void | _swapAllRenderTargetBuffers () |
| Internal method for swapping all the buffers on all render targets, if _updateAllRenderTargets was called with a 'false' parameter. | |
| virtual void | _updateAllRenderTargets (bool swapBuffers=true) |
| Internal method for updating all render targets attached to this rendering system. | |
| virtual void | _useLights (unsigned short limit) |
| Tells the rendersystem to use the attached set of lights (and no others) up to the number specified (this allows the same list to be used with different count limits) | |
| void | addListener (Listener *l) |
| Adds a listener to the custom events that this render system can raise. | |
| virtual void | applyFixedFunctionParams (const GpuProgramParametersPtr ¶ms, uint16 variabilityMask) |
| void | attachRenderTarget (RenderTarget &target) |
| Attaches the passed render target to the render system. | |
| virtual void | clearFrameBuffer (uint32 buffers, const ColourValue &colour=ColourValue::Black, float depth=1.0f, uint16 stencil=0)=0 |
| Clears one or more frame buffers on the active render target. | |
| virtual void | destroyHardwareOcclusionQuery (HardwareOcclusionQuery *hq) |
| Destroy a hardware occlusion query object. | |
| virtual void | destroyRenderTarget (const String &name) |
| Destroys a render target of any sort. | |
| virtual void | destroyRenderTexture (const String &name) |
| Destroys a render texture. | |
| virtual RenderTarget * | detachRenderTarget (const String &name) |
| Detaches the render target with the passed name from the render system and returns a pointer to it. | |
| const RenderSystemCapabilities * | getCapabilities (void) const |
| Gets the capabilities of the render system. | |
| const ConfigOptionMap & | getConfigOptions () const |
| Returns the details of this API's configuration options. | |
| virtual void | getCustomAttribute (const String &name, void *pData) |
| Gets a custom (maybe platform-specific) attribute. | |
| const DriverVersion & | getDriverVersion (void) const |
| Returns the driver version. | |
| virtual const GpuProgramParametersPtr & | getFixedFunctionParams (TrackVertexColourType tracking, FogMode fog) |
| uint32 | getGlobalInstanceCount () const |
| Gets the global number of instances. | |
| HardwareVertexBufferPtr | getGlobalInstanceVertexBuffer () const |
| Returns the global instance vertex buffer. | |
| VertexDeclaration * | getGlobalInstanceVertexDeclaration () const |
| Gets vertex declaration for the global vertex buffer for the global instancing. | |
| virtual Real | getHorizontalTexelOffset (void) |
| Returns the horizontal texel offset value required for mapping texel origins to pixel origins in this rendersystem. | |
| bool | getInvertVertexWinding (void) const |
| Indicates whether or not the vertex windings set will be inverted for the current render (e.g. | |
| RenderSystemCapabilities * | getMutableCapabilities () |
| Get a pointer to the current capabilities being used by the RenderSystem. | |
| uint16 | getNativeShadingLanguageVersion () const |
| Gets the native shading language version for this render system. | |
| const StringVector & | getRenderSystemEvents (void) const |
| Gets a list of the rendersystem specific events that this rendersystem can raise. | |
| RenderTarget * | getRenderTarget (const String &name) |
| Returns a pointer to the render target with the passed name, or NULL if that render target cannot be found. | |
| RenderWindowDescription | getRenderWindowDescription () const |
| get a RenderWindowDescription from the current ConfigOptionMap | |
| virtual Real | getVerticalTexelOffset (void) |
| Returns the vertical texel offset value required for mapping texel origins to pixel origins in this rendersystem. | |
| bool | isGpuProgramBound (GpuProgramType gptype) |
| Returns whether or not a Gpu program of the given type is currently bound. | |
| bool | isReverseDepthBufferEnabled () const |
| Returns if reverse Z-buffer is enabled. | |
| void | reinitialise (void) |
| Restart the renderer (normally following a change in settings). | |
| void | removeListener (Listener *l) |
| Remove a listener to the custom events that this render system can raise. | |
| virtual void | setClipPlanes (const PlaneList &clipPlanes) |
| Sets the user clipping region. | |
| virtual void | setCurrentPassIterationCount (const size_t count) |
| set the current multi pass count value. | |
| void | setDepthBufferFor (RenderTarget *renderTarget) |
| Retrieves an existing DepthBuffer or creates a new one suited for the given RenderTarget and sets it. | |
| void | setDeriveDepthBias (bool derive, float baseValue=0.0f, float multiplier=0.0f, float slopeScale=0.0f) |
| Tell the render system whether to derive a depth bias on its own based on the values passed to it in setCurrentPassIterationCount. | |
| virtual bool | setDrawBuffer (ColourBufferType colourBuffer) |
| Sets the colour buffer that the render system will to draw. | |
| void | setGlobalInstanceCount (uint32 val) |
| Sets the global number of instances. | |
| void | setGlobalInstanceVertexBuffer (const HardwareVertexBufferPtr &val) |
| Sets the global instance vertex buffer. | |
| void | setGlobalInstanceVertexDeclaration (VertexDeclaration *val) |
| Sets vertex declaration for the global vertex buffer for the global instancing. | |
| void | setInvertVertexWinding (bool invert) |
| Sets whether or not vertex windings set should be inverted; this can be important for rendering reflections. | |
| virtual void | setLightingEnabled (bool enabled) |
| Sets whether or not dynamic lighting is enabled. | |
| virtual void | setNormaliseNormals (bool normalise) |
| Sets whether or not normals are to be automatically normalised. | |
| void | setScissorTest (bool enabled, uint32 left, uint32 top=0, uint32 right=800, uint32 bottom=600) |
| virtual void | setShadingType (ShadeOptions so) |
| Sets the type of light shading required (default = Gouraud). | |
| void | setStencilBufferParams (CompareFunction func=CMPF_ALWAYS_PASS, uint32 refValue=0, uint32 compareMask=0xFFFFFFFF, uint32 writeMask=0xFFFFFFFF, StencilOperation stencilFailOp=SOP_KEEP, StencilOperation depthFailOp=SOP_KEEP, StencilOperation passOp=SOP_KEEP, bool twoSidedOperation=false) |
| void | setStencilCheckEnabled (bool enabled) |
| void | useCustomRenderSystemCapabilities (RenderSystemCapabilities *capabilities) |
| Force the render system to use the special capabilities. | |
| virtual String | validateConfigOptions (void) |
| Validates the options set for the rendering system, returning a message if there are problems. | |
Additional Inherited Members | |
Static Public Member Functions inherited from Ogre::RenderSystem | |
| static void | convertColourValue (const ColourValue &colour, uint32 *pDest) |
| static VertexElementType | getColourVertexElementType (void) |
| static Listener * | getSharedListener (void) |
| Retrieve a pointer to the current shared render system listener. | |
| static void | setSharedListener (Listener *listener) |
| Sets shared listener. | |
Implementation of GL ES 2.x as a rendering system.