|  | 
|  | GL3PlusRenderSystem (const NameValuePairList *options) | 
|  | 
|  | ~GL3PlusRenderSystem () override | 
|  | 
| void | _beginFrame () override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _convertOpenVrProjectionMatrix (const Matrix4 &matrix, Matrix4 &dest) override | 
|  | Converts an OpenVR projection matrix to have the proper depth range and reverse Z settings. 
 | 
|  | 
| void | _convertProjectionMatrix (const Matrix4 &matrix, Matrix4 &dest) override | 
|  | See RenderSystem. 
 | 
|  | 
| Window * | _createRenderWindow (const String &name, uint32 width, uint32 height, bool fullScreen, const NameValuePairList *miscParams=0) override | 
|  | Creates a new rendering window. 
 | 
|  | 
| bool | _createRenderWindows (const RenderWindowDescriptionList &renderWindowDescriptions, WindowList &createdWindows) override | 
|  | Creates multiple rendering windows. 
 | 
|  | 
| void | _descriptorSetTexture2Created (DescriptorSetTexture2 *newSet) override | 
|  | 
| void | _descriptorSetTexture2Destroyed (DescriptorSetTexture2 *set) override | 
|  | 
| void | _descriptorSetUavCreated (DescriptorSetUav *newSet) override | 
|  | 
| void | _descriptorSetUavDestroyed (DescriptorSetUav *set) override | 
|  | 
| void | _dispatch (const HlmsComputePso &pso) override | 
|  | 
| void | _endFrame () override | 
|  | See RenderSystem. 
 | 
|  | 
| GL3PlusFrameBufferDescMap & | _getFrameBufferDescMap () | 
|  | 
| GL3PlusContext * | _getMainContext () | 
|  | Returns the main context. 
 | 
|  | 
| void | _hlmsBlendblockCreated (HlmsBlendblock *newBlock) override | 
|  | 
| void | _hlmsBlendblockDestroyed (HlmsBlendblock *block) override | 
|  | 
| void | _hlmsComputePipelineStateObjectCreated (HlmsComputePso *newPso) override | 
|  | 
| void | _hlmsComputePipelineStateObjectDestroyed (HlmsComputePso *newPso) override | 
|  | 
| void | _hlmsMacroblockCreated (HlmsMacroblock *newBlock) override | 
|  | 
| void | _hlmsMacroblockDestroyed (HlmsMacroblock *block) override | 
|  | 
| void | _hlmsPipelineStateObjectCreated (HlmsPso *newPso) override | 
|  | 
| void | _hlmsPipelineStateObjectDestroyed (HlmsPso *pso) override | 
|  | 
| void | _hlmsSamplerblockCreated (HlmsSamplerblock *newBlock) override | 
|  | 
| void | _hlmsSamplerblockDestroyed (HlmsSamplerblock *block) override | 
|  | 
| Window * | _initialise (bool autoCreateWindow, const String &windowTitle="OGRE Render Window") override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _makeRsProjectionMatrix (const Matrix4 &matrix, Matrix4 &dest, Real nearPlane, Real farPlane, ProjectionType projectionType) override | 
|  | Takes a regular source projection matrix in range [-1; 1] and converts it to a projection matrix in 'dest' with reverse Z range [1; 0]. 
 | 
|  | 
| void | _oneTimeContextInitialization () | 
|  | One time initialization for the RenderState of a context. 
 | 
|  | 
| void | _render (const CbDrawCallIndexed *cmd) override | 
|  | Renders the VAO. Assumes _setVertexArrayObject has already been called. 
 | 
|  | 
| void | _render (const CbDrawCallStrip *cmd) override | 
|  | 
| void | _render (const v1::CbDrawCallIndexed *cmd) override | 
|  | Renders a V1 RenderOperation. Assumes _setRenderOperation has already been called. 
 | 
|  | 
| void | _render (const v1::CbDrawCallStrip *cmd) override | 
|  | 
| void | _render (const v1::RenderOperation &op) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _renderEmulated (const CbDrawCallIndexed *cmd) override | 
|  | 
| void | _renderEmulated (const CbDrawCallStrip *cmd) override | 
|  | 
| void | _renderEmulatedNoBaseInstance (const CbDrawCallIndexed *cmd) override | 
|  | 
| void | _renderEmulatedNoBaseInstance (const CbDrawCallStrip *cmd) override | 
|  | 
| void | _renderNoBaseInstance (const v1::CbDrawCallIndexed *cmd) override | 
|  | 
| void | _renderNoBaseInstance (const v1::CbDrawCallStrip *cmd) override | 
|  | 
| void | _setComputePso (const HlmsComputePso *pso) override | 
|  | Unlike _setPipelineStateObject, the RenderSystem will check if the PSO has changed to avoid redundant state changes (since it's hard to do it at Hlms level) 
 | 
|  | 
| void | _setCurrentDeviceFromTexture (TextureGpu *texture) override | 
|  | Because Ogre doesn't (yet) have the notion of a 'device' or 'GL context', this function lets Ogre know which device should be used by providing a texture. 
 | 
|  | 
| void | _setDepthBias (float constantBias, float slopeScaleBias) | 
|  | See RenderSystem. 
 | 
|  | 
| void | _setGeometryTexture (size_t unit, TextureGpu *tex) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _setHlmsBlendblock (const HlmsBlendblock *blendblock, const GL3PlusHlmsPso *pso) | 
|  | 
| void | _setHlmsMacroblock (const HlmsMacroblock *macroblock, const GL3PlusHlmsPso *pso) | 
|  | 
| void | _setHlmsSamplerblock (uint8 texUnit, const HlmsSamplerblock *samplerblock) override | 
|  | See HlmsSamplerblock. 
 | 
|  | 
| void | _setIndirectBuffer (IndirectBufferPacked *indirectBuffer) override | 
|  | 
| void | _setPipelineStateObject (const HlmsPso *pso) override | 
|  | 
| void | _setPointParameters (Real size, bool attenuationEnabled, Real constant, Real linear, Real quadratic, Real minSize, Real maxSize) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _setPointSpritesEnabled (bool enabled) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _setProjectionMatrix (const Matrix4 &m) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _setRenderOperation (const v1::CbRenderOp *cmd) override | 
|  | 
| void | _setSamplers (uint32 slotStart, const DescriptorSetSampler *set) override | 
|  | 
| void | _setSamplersCS (uint32 slotStart, const DescriptorSetSampler *set) override | 
|  | 
| void | _setSceneBlending (SceneBlendFactor sourceFactor, SceneBlendFactor destFactor, SceneBlendOperation op) | 
|  | 
| void | _setSceneBlendingOperation (SceneBlendOperation op) | 
|  | 
| void | _setSeparateSceneBlending (SceneBlendFactor sourceFactor, SceneBlendFactor destFactor, SceneBlendFactor sourceFactorAlpha, SceneBlendFactor destFactorAlpha, SceneBlendOperation op, SceneBlendOperation alphaOp) | 
|  | 
| void | _setSeparateSceneBlendingOperation (SceneBlendOperation op, SceneBlendOperation alphaOp) | 
|  | 
| void | _setSurfaceParams (const ColourValue &ambient, const ColourValue &diffuse, const ColourValue &specular, const ColourValue &emissive, Real shininess, TrackVertexColourType tracking) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _setTessellationDomainTexture (size_t unit, TextureGpu *tex) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _setTessellationHullTexture (size_t unit, TextureGpu *tex) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _setTexture (size_t unit, TextureGpu *tex, bool bDepthReadOnly) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _setTextureBlendMode (size_t stage, const LayerBlendModeEx &bm) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _setTextureCoordCalculation (size_t stage, TexCoordCalcMethod m, const Frustum *frustum=0) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _setTextureMatrix (size_t stage, const Matrix4 &xform) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _setTextures (uint32 slotStart, const DescriptorSetTexture *set, uint32 hazardousTexIdx) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _setTextures (uint32 slotStart, const DescriptorSetTexture2 *set) override | 
|  | 
| void | _setTexturesCS (uint32 slotStart, const DescriptorSetTexture *set) override | 
|  | 
| void | _setTexturesCS (uint32 slotStart, const DescriptorSetTexture2 *set) override | 
|  | 
| void | _setUavCS (uint32 slotStart, const DescriptorSetUav *set) override | 
|  | 
| void | _setVertexArrayObject (const VertexArrayObject *vao) override | 
|  | Part of the low level rendering interface. 
 | 
|  | 
| void | _setVertexTexture (size_t unit, TextureGpu *tex) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _setViewMatrix (const Matrix4 &m) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _setWorldMatrix (const Matrix4 &m) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | _startLegacyV1Rendering () override | 
|  | May override the current VertexArrayObject! 
 | 
|  | 
| void | _switchContext (GL3PlusContext *context) | 
|  | Switch GL context, dealing with involved internal cached states too. 
 | 
|  | 
| void | _unregisterContext (GL3PlusContext *context) | 
|  | Unregister a render target->context mapping. 
 | 
|  | 
| void | _useLights (const LightList &, unsigned short) override | 
|  | See RenderSystem. 
 | 
|  | 
| bool | areFixedFunctionLightsInViewSpace () const override | 
|  | See RenderSystem. 
 | 
|  | 
| void | beginGPUSampleProfile (const String &name, uint32 *hashCache) override | 
|  | 
| void | beginProfileEvent (const String &eventName) override | 
|  | This marks the beginning of an event for GPU profiling. 
 | 
|  | 
| void | beginRenderPassDescriptor (RenderPassDescriptor *desc, TextureGpu *anyTarget, uint8 mipLevel, const Vector4 *viewportSizes, const Vector4 *scissors, uint32 numViewports, bool overlaysEnabled, bool warnIfRtvWasFlushed) override | 
|  | When the descriptor is set to Load clear, two possible things may happen: 
 | 
|  | 
| void | bindGpuProgramParameters (GpuProgramType gptype, GpuProgramParametersSharedPtr params, uint16 mask) override | 
|  | Bind Gpu program parameters. 
 | 
|  | 
| void | bindGpuProgramPassIterationParameters (GpuProgramType gptype) override | 
|  | Only binds Gpu program parameters used for passes that have more than one iteration rendering. 
 | 
|  | 
| void | clearFrameBuffer (RenderPassDescriptor *renderPassDesc, TextureGpu *anyTarget, uint8 mipLevel) override | 
|  | Immediately clears the whole frame buffer on the selected RenderPassDescriptor. 
 | 
|  | 
| GLenum | convertCompareFunction (CompareFunction func) const | 
|  | 
| GLenum | convertStencilOp (StencilOperation op) const | 
|  | 
| TextureGpu * | createDepthBufferFor (TextureGpu *colourTexture, bool preferDepthTexture, PixelFormatGpu depthBufferFormat, uint16 poolId) override | 
|  | 
| HardwareOcclusionQuery * | createHardwareOcclusionQuery () override | 
|  | Create an object for performing hardware occlusion queries. 
 | 
|  | 
| RenderPassDescriptor * | createRenderPassDescriptor () override | 
|  | 
| RenderSystemCapabilities * | createRenderSystemCapabilities () const override | 
|  | See RenderSystem. 
 | 
|  | 
| void | debugAnnotationPop () override | 
|  | 
| void | debugAnnotationPush (const String &event) override | 
|  | Specifically meant to mark passes in RenderDoc. 
 | 
|  | 
| void | deinitGPUProfiling () override | 
|  | 
| void | enableClipPlane (ushort index, bool enable) | 
|  | See RenderSystem. 
 | 
|  | 
| void | endGPUSampleProfile (const String &name) override | 
|  | 
| void | endProfileEvent () override | 
|  | Ends the currently active GPU profiling event. 
 | 
|  | 
| void | endRenderPassDescriptor () override | 
|  | 
| void | executeResourceTransition (const ResourceTransitionArray &rstCollection) override | 
|  | 
| void | flushUAVs () | 
|  | 
| VertexElementType | getColourVertexElementType () const override | 
|  | See RenderSystem. 
 | 
|  | 
| ConfigOptionMap & | getConfigOptions () override | 
|  | See RenderSystem. 
 | 
|  | 
| unsigned int | getDisplayMonitorCount () const override | 
|  | Gets the number of display monitors. 
 | 
|  | 
| String | getErrorDescription (long errorNumber) const override | 
|  | See RenderSystem. 
 | 
|  | 
| const String & | getFriendlyName () const override | 
|  | See RenderSystem. 
 | 
|  | 
| const GL3PlusSupport * | getGLSupport () const | 
|  | 
| Real | getHorizontalTexelOffset () override | 
|  | Returns the horizontal texel offset value required for mapping texel origins to pixel origins in this rendersystem. 
 | 
|  | 
| Real | getMaximumDepthInputValue () override | 
|  | Gets the maximum (farthest) depth value to be used when rendering using identity transforms. 
 | 
|  | 
| Real | getMinimumDepthInputValue () override | 
|  | Gets the minimum (closest) depth value to be used when rendering using identity transforms. 
 | 
|  | 
| const String & | getName () const override | 
|  | See RenderSystem. 
 | 
|  | 
| size_t | getNumPriorityConfigOptions () const override | 
|  | Number of priority config options in RenderSystem::getPriorityConfigOption. 
 | 
|  | 
| const char * | getPriorityConfigOption (size_t idx) const override | 
|  | Some options depend on other options. 
 | 
|  | 
| Real | getRSDepthRange () const override | 
|  | OpenGL depth is in range [-1;1] so it returns 2.0f; D3D11 & Metal are in range [0;1] so it returns 1.0f;. 
 | 
|  | 
| Real | getVerticalTexelOffset () override | 
|  | Returns the vertical texel offset value required for mapping texel origins to pixel origins in this rendersystem. 
 | 
|  | 
| bool | hasAnisotropicMipMapFilter () const override | 
|  | Determines if the system has anisotropic mip map filter support. 
 | 
|  | 
| void | initGPUProfiling () override | 
|  | 
| void | initialiseContext (Window *primary) | 
|  | 
| void | initialiseFromRenderSystemCapabilities (RenderSystemCapabilities *caps, Window *primary) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | markProfileEvent (const String &eventName) override | 
|  | Marks an instantaneous event for graphics profilers. 
 | 
|  | 
|  | OGRE_MUTEX (mThreadInitMutex) | 
|  | 
| void | postExtraThreadsStarted () override | 
|  | 
| 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 | reinitialise () override | 
|  | See RenderSystem. 
 | 
|  | 
| void | setClipPlane (ushort index, Real A, Real B, Real C, Real D) | 
|  | See RenderSystem. 
 | 
|  | 
| void | setClipPlanesImpl (const Ogre::PlaneList &planeList) override | 
|  | Internal method used to set the underlying clip planes when needed. 
 | 
|  | 
| void | setConfigOption (const String &name, const String &value) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | setStencilBufferParams (uint32 refValue, const StencilParams &stencilParams) override | 
|  | See RenderSystem. 
 | 
|  | 
| void | shutdown () override | 
|  | See RenderSystem. 
 | 
|  | 
| bool | supportsTargetIndependentRasterization () const | 
|  | 
| void | unregisterThread () override | 
|  | Unregister an additional thread which may make calls to rendersystem-related objects. 
 | 
|  | 
| String | validateConfigOptions () override | 
|  | See RenderSystem. 
 | 
|  | 
|  | RenderSystem () | 
|  | Default Constructor. 
 | 
|  | 
| virtual | ~RenderSystem () | 
|  | Destructor. 
 | 
|  | 
| void | _addMetrics (const RenderingMetrics &newMetrics) | 
|  | 
| virtual void | _beginFrameOnce () | 
|  | Signifies the beginning of the main frame. 
 | 
|  | 
| void | _cleanupDepthBuffers () | 
|  | 
| void | _dereferenceSharedDepthBuffer (TextureGpu *depthBuffer) | 
|  | Releases the reference count on a shared depth buffer. 
 | 
|  | 
| virtual void | _descriptorSetSamplerCreated (DescriptorSetSampler *newSet) | 
|  | 
| virtual void | _descriptorSetSamplerDestroyed (DescriptorSetSampler *set) | 
|  | 
| virtual void | _descriptorSetTextureCreated (DescriptorSetTexture *newSet) | 
|  | 
| virtual void | _descriptorSetTextureDestroyed (DescriptorSetTexture *set) | 
|  | 
| virtual void | _endFrameOnce () | 
|  | Called once per frame, regardless of how many active workspaces there are. 
 | 
|  | 
| Viewport & | _getCurrentRenderViewport () | 
|  | 
| virtual const String & | _getDefaultViewportMaterialScheme () const | 
|  | Returns the default material scheme used by the render system. 
 | 
|  | 
| virtual RenderSystemContext * | _pauseFrame () | 
|  | Pause rendering for a frame. 
 | 
|  | 
| void | _resetMetrics () | 
|  | 
| virtual void | _resumeFrame (RenderSystemContext *context) | 
|  | Resume rendering for a frame. 
 | 
|  | 
| virtual void | _setBindingType (TextureUnitState::BindingType bindigType) | 
|  | Set texture unit binding type. 
 | 
|  | 
| 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. 
 | 
|  | 
| virtual void | _setWorldMatrices (const Matrix4 *m, unsigned short count) | 
|  | Sets multiple world matrices (vertex blending). 
 | 
|  | 
| void | _update () | 
|  | Called once per frame, regardless of how many active workspaces there are. 
 | 
|  | 
| virtual void | addClipPlane (const Plane &p) | 
|  | Add a user clipping plane. 
 | 
|  | 
| virtual void | addClipPlane (Real A, Real B, Real C, Real D) | 
|  | Add a user clipping plane. 
 | 
|  | 
| virtual void | addListener (Listener *l) | 
|  | Adds a listener to the custom events that this render system can raise. 
 | 
|  | 
| virtual void | compositorWorkspaceBegin (CompositorWorkspace *workspace, const bool forceBeginFrame) | 
|  | See RenderSystem::updateCompositorManager. 
 | 
|  | 
| virtual void | compositorWorkspaceEnd (CompositorWorkspace *workspace, const bool forceEndFrame) | 
|  | See RenderSystem::updateCompositorManager. 
 | 
|  | 
| virtual void | compositorWorkspaceUpdate (CompositorWorkspace *workspace) | 
|  | See RenderSystem::updateCompositorManager. 
 | 
|  | 
| virtual void | convertColourValue (const ColourValue &colour, uint32 *pDest) | 
|  | Generates a packed data version of the passed in ColourValue suitable for use as with this RenderSystem. 
 | 
|  | 
| virtual void | destroyHardwareOcclusionQuery (HardwareOcclusionQuery *hq) | 
|  | Destroy a hardware occlusion query object. 
 | 
|  | 
| void | destroyRenderPassDescriptor (RenderPassDescriptor *renderPassDesc) | 
|  | 
| virtual void | destroyRenderWindow (Window *window) | 
|  | Destroys a render window. 
 | 
|  | 
| virtual void | endCopyEncoder () | 
|  | Required when caller will soon start analyzing barriers (e.g. 
 | 
|  | 
| virtual void | endGpuDebuggerFrameCapture (Window *window, const bool bDiscard=false) | 
|  | See RenderSystem::startGpuDebuggerFrameCapture Call this function when you're done capturing a frame. 
 | 
|  | 
| virtual void | executeRenderPassDescriptorDelayedActions () | 
|  | Metal needs to delay RenderCommand creation to the last minute, because we can't issue blit operations (e.g. 
 | 
|  | 
| BarrierSolver & | getBarrierSolver () | 
|  | 
| BoundUav | getBoundUav (size_t slot) const | 
|  | 
| const RenderSystemCapabilities * | getCapabilities () const | 
|  | Gets the capabilities of the render system. 
 | 
|  | 
| RenderPassDescriptor * | getCurrentPassDescriptor () | 
|  | 
| Viewport * | getCurrentRenderViewports () | 
|  | 
| virtual void | getCustomAttribute (const String &name, void *pData) | 
|  | Gets a custom (maybe platform-specific) attribute. 
 | 
|  | 
| bool | getDebugShaders () const | 
|  | 
| virtual TextureGpu * | getDepthBufferFor (TextureGpu *colourTexture, uint16 poolId, bool preferDepthTexture, PixelFormatGpu depthBufferFormat) | 
|  | 
| virtual const DriverVersion & | getDriverVersion () const | 
|  | Returns the driver version. 
 | 
|  | 
| v1::HardwareVertexBufferSharedPtr | getGlobalInstanceVertexBuffer () const | 
|  | Returns the global instance vertex buffer. 
 | 
|  | 
| v1::VertexDeclaration * | getGlobalInstanceVertexBufferVertexDeclaration () const | 
|  | Gets vertex declaration for the global vertex buffer for the global instancing. 
 | 
|  | 
| size_t | getGlobalNumberOfInstances () const | 
|  | Gets the global number of instances. 
 | 
|  | 
| bool | getInvertedClipSpaceY () const | 
|  | +Y is downwards in NDC (Normalized Device Coordinates). Only Vulkan has this problem. 
 | 
|  | 
| virtual bool | getInvertVertexWinding () const | 
|  | Indicates whether or not the vertex windings set will be inverted for the current render (e.g. 
 | 
|  | 
| uint32 | getMaxBoundViewports () | 
|  | 
| const RenderingMetrics & | getMetrics () const | 
|  | 
| 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. 
 | 
|  | 
| RENDERDOC_API_1_4_1 * | getRenderDocApi () | 
|  | Returns the RenderDoc API handle in case you want to do more advanced functionality than what we expose. 
 | 
|  | 
| virtual const StringVector & | getRenderSystemEvents () const | 
|  | Gets a list of the rendersystem specific events that this rendersystem can raise. 
 | 
|  | 
| const StencilParams & | getStencilBufferParams () const | 
|  | 
| TextureGpuManager * | getTextureGpuManager () const | 
|  | 
| VaoManager * | getVaoManager () const | 
|  | 
| bool | getWBufferEnabled () const | 
|  | Returns true if the renderer will try to use W-buffers when available. 
 | 
|  | 
| virtual bool | isGpuProgramBound (GpuProgramType gptype) | 
|  | Returns whether or not a Gpu program of the given type is currently bound. 
 | 
|  | 
| bool | isReverseDepth () const | 
|  | 
| virtual bool | isSameLayout (ResourceLayout::Layout a, ResourceLayout::Layout b, const TextureGpu *texture, bool bIsDebugCheck) const | 
|  | Returns true if 'a' and 'b' internally map to the same layout and should be considered equivalent for a given texture. 
 | 
|  | 
| virtual bool | isStaticBufferLockable () const | 
|  | 
| bool | loadRenderDocApi () | 
|  | Explicitly loads RenderDoc. 
 | 
|  | 
| void | queueBindUAVs (const DescriptorSetUav *descSetUav) | 
|  | Queues the binding of an UAV to the binding point/slot. 
 | 
|  | 
| virtual void | removeListener (Listener *l) | 
|  | Remove a listener to the custom events that this render system can raise. 
 | 
|  | 
| virtual void | resetClipPlanes () | 
|  | Clears the user clipping region. 
 | 
|  | 
| 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 | setDebugShaders (bool bDebugShaders) | 
|  | Instructs the RenderSystem to compile shaders without optimizations and with debug information, for easier debugging on APIs that support it. 
 | 
|  | 
| virtual 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. 
 | 
|  | 
| void | setGlobalInstanceVertexBuffer (const v1::HardwareVertexBufferSharedPtr &val) | 
|  | Sets the global instance vertex buffer. 
 | 
|  | 
| void | setGlobalInstanceVertexBufferVertexDeclaration (v1::VertexDeclaration *val) | 
|  | Sets vertex declaration for the global vertex buffer for the global instancing. 
 | 
|  | 
| void | setGlobalNumberOfInstances (const size_t val) | 
|  | Sets the global number of instances. 
 | 
|  | 
| void | setInvertVertexWinding (bool invert) | 
|  | Sets whether or not vertex windings set should be inverted; this can be important for rendering reflections. 
 | 
|  | 
| void | setMetricsRecordingEnabled (bool bEnable) | 
|  | 
| void | setUavStartingSlot (uint32 startingSlot) | 
|  | In Direct3D11, UAV & RenderTargets share the same slots. 
 | 
|  | 
| void | setWBufferEnabled (bool enabled) | 
|  | Sets whether or not W-buffers are enabled if they are available for this renderer. 
 | 
|  | 
| virtual bool | startGpuDebuggerFrameCapture (Window *window) | 
|  | Programmatically performs a GPU capture when attached to a GPU debugger like RenderDoc or Metal Graphics Debugger. 
 | 
|  | 
| virtual void | updateCompositorManager (CompositorManager2 *compositorManager) | 
|  | This gives the renderer a chance to perform the compositor update in a special way. 
 | 
|  | 
| virtual void | useCustomRenderSystemCapabilities (RenderSystemCapabilities *capabilities) | 
|  | Force the render system to use the special capabilities. 
 | 
|  | 
| virtual bool | validateDevice (bool forceDeviceElection=false) | 
|  | Some render systems have moments when GPU device is temporarily unavailable, for example when D3D11 device is lost, or when iOS app is in background, etc. 
 | 
|  | 
| virtual SampleDescription | validateSampleDescription (const SampleDescription &sampleDesc, PixelFormatGpu format) | 
|  | Returns supported sample description for requested FSAA mode, with graceful downgrading. 
 | 
|  |