|
| GL3PlusRenderSystem (const NameValuePairList *options) |
|
| ~GL3PlusRenderSystem () override |
|
void | _beginFrame () override |
| See RenderSystem. More...
|
|
void | _convertOpenVrProjectionMatrix (const Matrix4 &matrix, Matrix4 &dest) override |
| Converts an OpenVR projection matrix to have the proper depth range and reverse Z settings. More...
|
|
void | _convertProjectionMatrix (const Matrix4 &matrix, Matrix4 &dest) override |
| See RenderSystem. More...
|
|
Window * | _createRenderWindow (const String &name, uint32 width, uint32 height, bool fullScreen, const NameValuePairList *miscParams=0) override |
| Creates a new rendering window. More...
|
|
bool | _createRenderWindows (const RenderWindowDescriptionList &renderWindowDescriptions, WindowList &createdWindows) override |
| Creates multiple rendering windows. More...
|
|
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. More...
|
|
GL3PlusFrameBufferDescMap & | _getFrameBufferDescMap () |
|
GL3PlusContext * | _getMainContext () |
| Returns the main context. More...
|
|
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. More...
|
|
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]. More...
|
|
void | _oneTimeContextInitialization () |
| One time initialization for the RenderState of a context. More...
|
|
void | _render (const CbDrawCallIndexed *cmd) override |
| Renders the VAO. Assumes _setVertexArrayObject has already been called. More...
|
|
void | _render (const CbDrawCallStrip *cmd) override |
|
void | _render (const v1::CbDrawCallIndexed *cmd) override |
| Renders a V1 RenderOperation. Assumes _setRenderOperation has already been called. More...
|
|
void | _render (const v1::CbDrawCallStrip *cmd) override |
|
void | _render (const v1::RenderOperation &op) override |
| See RenderSystem. More...
|
|
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) More...
|
|
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. More...
|
|
void | _setDepthBias (float constantBias, float slopeScaleBias) |
| See RenderSystem. More...
|
|
void | _setGeometryTexture (size_t unit, TextureGpu *tex) override |
| See RenderSystem. More...
|
|
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. More...
|
|
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. More...
|
|
void | _setPointSpritesEnabled (bool enabled) override |
| See RenderSystem. More...
|
|
void | _setProjectionMatrix (const Matrix4 &m) override |
| See RenderSystem. More...
|
|
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. More...
|
|
void | _setTessellationDomainTexture (size_t unit, TextureGpu *tex) override |
| See RenderSystem. More...
|
|
void | _setTessellationHullTexture (size_t unit, TextureGpu *tex) override |
| See RenderSystem. More...
|
|
void | _setTexture (size_t unit, TextureGpu *tex, bool bDepthReadOnly) override |
| See RenderSystem. More...
|
|
void | _setTextureBlendMode (size_t stage, const LayerBlendModeEx &bm) override |
| See RenderSystem. More...
|
|
void | _setTextureCoordCalculation (size_t stage, TexCoordCalcMethod m, const Frustum *frustum=0) override |
| See RenderSystem. More...
|
|
void | _setTextureMatrix (size_t stage, const Matrix4 &xform) override |
| See RenderSystem. More...
|
|
void | _setTextures (uint32 slotStart, const DescriptorSetTexture *set, uint32 hazardousTexIdx) override |
| See RenderSystem. More...
|
|
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. More...
|
|
void | _setVertexTexture (size_t unit, TextureGpu *tex) override |
| See RenderSystem. More...
|
|
void | _setViewMatrix (const Matrix4 &m) override |
| See RenderSystem. More...
|
|
void | _setWorldMatrix (const Matrix4 &m) override |
| See RenderSystem. More...
|
|
void | _startLegacyV1Rendering () override |
| May override the current VertexArrayObject! More...
|
|
void | _switchContext (GL3PlusContext *context) |
| Switch GL context, dealing with involved internal cached states too. More...
|
|
void | _unregisterContext (GL3PlusContext *context) |
| Unregister a render target->context mapping. More...
|
|
void | _useLights (const LightList &, unsigned short) override |
| See RenderSystem. More...
|
|
bool | areFixedFunctionLightsInViewSpace () const override |
| See RenderSystem. More...
|
|
void | beginGPUSampleProfile (const String &name, uint32 *hashCache) override |
|
void | beginProfileEvent (const String &eventName) override |
| This marks the beginning of an event for GPU profiling. More...
|
|
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: More...
|
|
void | bindGpuProgramParameters (GpuProgramType gptype, GpuProgramParametersSharedPtr params, uint16 mask) override |
| Bind Gpu program parameters. More...
|
|
void | bindGpuProgramPassIterationParameters (GpuProgramType gptype) override |
| Only binds Gpu program parameters used for passes that have more than one iteration rendering. More...
|
|
void | clearFrameBuffer (RenderPassDescriptor *renderPassDesc, TextureGpu *anyTarget, uint8 mipLevel) override |
| Immediately clears the whole frame buffer on the selected RenderPassDescriptor. More...
|
|
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. More...
|
|
RenderPassDescriptor * | createRenderPassDescriptor () override |
|
RenderSystemCapabilities * | createRenderSystemCapabilities () const override |
| See RenderSystem. More...
|
|
void | debugAnnotationPop () override |
|
void | debugAnnotationPush (const String &event) override |
| Specifically meant to mark passes in RenderDoc. More...
|
|
void | deinitGPUProfiling () override |
|
void | enableClipPlane (ushort index, bool enable) |
| See RenderSystem. More...
|
|
void | endGPUSampleProfile (const String &name) override |
|
void | endProfileEvent () override |
| Ends the currently active GPU profiling event. More...
|
|
void | endRenderPassDescriptor () override |
|
void | executeResourceTransition (const ResourceTransitionArray &rstCollection) override |
|
void | flushUAVs () |
|
VertexElementType | getColourVertexElementType () const override |
| See RenderSystem. More...
|
|
ConfigOptionMap & | getConfigOptions () override |
| See RenderSystem. More...
|
|
unsigned int | getDisplayMonitorCount () const override |
| Gets the number of display monitors. More...
|
|
String | getErrorDescription (long errorNumber) const override |
| See RenderSystem. More...
|
|
const String & | getFriendlyName () const override |
| See RenderSystem. More...
|
|
const GL3PlusSupport * | getGLSupport () const |
|
Real | getHorizontalTexelOffset () override |
| Returns the horizontal texel offset value required for mapping texel origins to pixel origins in this rendersystem. More...
|
|
Real | getMaximumDepthInputValue () override |
| Gets the maximum (farthest) depth value to be used when rendering using identity transforms. More...
|
|
Real | getMinimumDepthInputValue () override |
| Gets the minimum (closest) depth value to be used when rendering using identity transforms. More...
|
|
const String & | getName () const override |
| See RenderSystem. More...
|
|
size_t | getNumPriorityConfigOptions () const override |
| Number of priority config options in RenderSystem::getPriorityConfigOption. More...
|
|
const char * | getPriorityConfigOption (size_t idx) const override |
| Some options depend on other options. More...
|
|
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;. More...
|
|
Real | getVerticalTexelOffset () override |
| Returns the vertical texel offset value required for mapping texel origins to pixel origins in this rendersystem. More...
|
|
bool | hasAnisotropicMipMapFilter () const override |
| Determines if the system has anisotropic mip map filter support. More...
|
|
void | initGPUProfiling () override |
|
void | initialiseContext (Window *primary) |
|
void | initialiseFromRenderSystemCapabilities (RenderSystemCapabilities *caps, Window *primary) override |
| See RenderSystem. More...
|
|
void | markProfileEvent (const String &eventName) override |
| Marks an instantaneous event for graphics profilers. More...
|
|
| 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. More...
|
|
void | registerThread () override |
| Register the an additional thread which may make calls to rendersystem-related objects. More...
|
|
void | reinitialise () override |
| See RenderSystem. More...
|
|
void | setClipPlane (ushort index, Real A, Real B, Real C, Real D) |
| See RenderSystem. More...
|
|
void | setClipPlanesImpl (const Ogre::PlaneList &planeList) override |
| Internal method used to set the underlying clip planes when needed. More...
|
|
void | setConfigOption (const String &name, const String &value) override |
| See RenderSystem. More...
|
|
void | setStencilBufferParams (uint32 refValue, const StencilParams &stencilParams) override |
| See RenderSystem. More...
|
|
void | shutdown () override |
| See RenderSystem. More...
|
|
bool | supportsTargetIndependentRasterization () const |
|
void | unregisterThread () override |
| Unregister an additional thread which may make calls to rendersystem-related objects. More...
|
|
String | validateConfigOptions () override |
| See RenderSystem. More...
|
|
| RenderSystem () |
| Default Constructor. More...
|
|
virtual | ~RenderSystem () |
| Destructor. More...
|
|
void | _addMetrics (const RenderingMetrics &newMetrics) |
|
virtual void | _beginFrameOnce () |
| Signifies the beginning of the main frame. More...
|
|
void | _cleanupDepthBuffers () |
|
void | _dereferenceSharedDepthBuffer (TextureGpu *depthBuffer) |
| Releases the reference count on a shared depth buffer. More...
|
|
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. More...
|
|
Viewport & | _getCurrentRenderViewport () |
|
virtual const String & | _getDefaultViewportMaterialScheme () const |
| Returns the default material scheme used by the render system. More...
|
|
virtual RenderSystemContext * | _pauseFrame () |
| Pause rendering for a frame. More...
|
|
void | _resetMetrics () |
|
virtual void | _resumeFrame (RenderSystemContext *context) |
| Resume rendering for a frame. More...
|
|
virtual void | _setBindingType (TextureUnitState::BindingType bindigType) |
| Set texture unit binding type. More...
|
|
virtual void | _setTextureProjectionRelativeTo (bool enabled, const Vector3 &pos) |
| Notify the rendersystem that it should adjust texture projection to be relative to a different origin. More...
|
|
virtual void | _setTextureUnitSettings (size_t texUnit, TextureUnitState &tl) |
| Utility function for setting all the properties of a texture unit at once. More...
|
|
virtual void | _setWorldMatrices (const Matrix4 *m, unsigned short count) |
| Sets multiple world matrices (vertex blending). More...
|
|
void | _update () |
| Called once per frame, regardless of how many active workspaces there are. More...
|
|
virtual void | addClipPlane (const Plane &p) |
| Add a user clipping plane. More...
|
|
virtual void | addClipPlane (Real A, Real B, Real C, Real D) |
| Add a user clipping plane. More...
|
|
virtual void | addListener (Listener *l) |
| Adds a listener to the custom events that this render system can raise. More...
|
|
virtual void | compositorWorkspaceBegin (CompositorWorkspace *workspace, const bool forceBeginFrame) |
| See RenderSystem::updateCompositorManager. More...
|
|
virtual void | compositorWorkspaceEnd (CompositorWorkspace *workspace, const bool forceEndFrame) |
| See RenderSystem::updateCompositorManager. More...
|
|
virtual void | compositorWorkspaceUpdate (CompositorWorkspace *workspace) |
| See RenderSystem::updateCompositorManager. More...
|
|
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. More...
|
|
virtual void | destroyHardwareOcclusionQuery (HardwareOcclusionQuery *hq) |
| Destroy a hardware occlusion query object. More...
|
|
void | destroyRenderPassDescriptor (RenderPassDescriptor *renderPassDesc) |
|
virtual void | destroyRenderWindow (Window *window) |
| Destroys a render window. More...
|
|
virtual void | endCopyEncoder () |
| Required when caller will soon start analyzing barriers (e.g. More...
|
|
virtual void | endGpuDebuggerFrameCapture (Window *window, const bool bDiscard=false) |
| See RenderSystem::startGpuDebuggerFrameCapture Call this function when you're done capturing a frame. More...
|
|
virtual void | executeRenderPassDescriptorDelayedActions () |
| Metal needs to delay RenderCommand creation to the last minute, because we can't issue blit operations (e.g. More...
|
|
BarrierSolver & | getBarrierSolver () |
|
BoundUav | getBoundUav (size_t slot) const |
|
const RenderSystemCapabilities * | getCapabilities () const |
| Gets the capabilities of the render system. More...
|
|
RenderPassDescriptor * | getCurrentPassDescriptor () |
|
Viewport * | getCurrentRenderViewports () |
|
virtual void | getCustomAttribute (const String &name, void *pData) |
| Gets a custom (maybe platform-specific) attribute. More...
|
|
bool | getDebugShaders () const |
|
virtual TextureGpu * | getDepthBufferFor (TextureGpu *colourTexture, uint16 poolId, bool preferDepthTexture, PixelFormatGpu depthBufferFormat) |
|
virtual const DriverVersion & | getDriverVersion () const |
| Returns the driver version. More...
|
|
v1::HardwareVertexBufferSharedPtr | getGlobalInstanceVertexBuffer () const |
| Returns the global instance vertex buffer. More...
|
|
v1::VertexDeclaration * | getGlobalInstanceVertexBufferVertexDeclaration () const |
| Gets vertex declaration for the global vertex buffer for the global instancing. More...
|
|
size_t | getGlobalNumberOfInstances () const |
| Gets the global number of instances. More...
|
|
bool | getInvertedClipSpaceY () const |
| +Y is downwards in NDC (Normalized Device Coordinates). Only Vulkan has this problem. More...
|
|
virtual bool | getInvertVertexWinding () const |
| Indicates whether or not the vertex windings set will be inverted for the current render (e.g. More...
|
|
uint32 | getMaxBoundViewports () |
|
const RenderingMetrics & | getMetrics () const |
|
RenderSystemCapabilities * | getMutableCapabilities () |
| Get a pointer to the current capabilities being used by the RenderSystem. More...
|
|
uint16 | getNativeShadingLanguageVersion () const |
| Gets the native shading language version for this render system. More...
|
|
RENDERDOC_API_1_4_1 * | getRenderDocApi () |
| Returns the RenderDoc API handle in case you want to do more advanced functionality than what we expose. More...
|
|
virtual const StringVector & | getRenderSystemEvents () const |
| Gets a list of the rendersystem specific events that this rendersystem can raise. More...
|
|
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. More...
|
|
virtual bool | isGpuProgramBound (GpuProgramType gptype) |
| Returns whether or not a Gpu program of the given type is currently bound. More...
|
|
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. More...
|
|
virtual bool | isStaticBufferLockable () const |
|
bool | loadRenderDocApi () |
| Explicitly loads RenderDoc. More...
|
|
void | queueBindUAVs (const DescriptorSetUav *descSetUav) |
| Queues the binding of an UAV to the binding point/slot. More...
|
|
virtual void | removeListener (Listener *l) |
| Remove a listener to the custom events that this render system can raise. More...
|
|
virtual void | resetClipPlanes () |
| Clears the user clipping region. More...
|
|
virtual void | setClipPlanes (const PlaneList &clipPlanes) |
| Sets the user clipping region. More...
|
|
virtual void | setCurrentPassIterationCount (const size_t count) |
| set the current multi pass count value. More...
|
|
void | setDebugShaders (bool bDebugShaders) |
| Instructs the RenderSystem to compile shaders without optimizations and with debug information, for easier debugging on APIs that support it. More...
|
|
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. More...
|
|
void | setGlobalInstanceVertexBuffer (const v1::HardwareVertexBufferSharedPtr &val) |
| Sets the global instance vertex buffer. More...
|
|
void | setGlobalInstanceVertexBufferVertexDeclaration (v1::VertexDeclaration *val) |
| Sets vertex declaration for the global vertex buffer for the global instancing. More...
|
|
void | setGlobalNumberOfInstances (const size_t val) |
| Sets the global number of instances. More...
|
|
void | setInvertVertexWinding (bool invert) |
| Sets whether or not vertex windings set should be inverted; this can be important for rendering reflections. More...
|
|
void | setMetricsRecordingEnabled (bool bEnable) |
|
void | setUavStartingSlot (uint32 startingSlot) |
| In Direct3D11, UAV & RenderTargets share the same slots. More...
|
|
void | setWBufferEnabled (bool enabled) |
| Sets whether or not W-buffers are enabled if they are available for this renderer. More...
|
|
virtual bool | startGpuDebuggerFrameCapture (Window *window) |
| Programmatically performs a GPU capture when attached to a GPU debugger like RenderDoc or Metal Graphics Debugger. More...
|
|
virtual void | updateCompositorManager (CompositorManager2 *compositorManager) |
| This gives the renderer a chance to perform the compositor update in a special way. More...
|
|
virtual void | useCustomRenderSystemCapabilities (RenderSystemCapabilities *capabilities) |
| Force the render system to use the special capabilities. More...
|
|
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. More...
|
|
virtual SampleDescription | validateSampleDescription (const SampleDescription &sampleDesc, PixelFormatGpu format) |
| Returns supported sample description for requested FSAA mode, with graceful downgrading. More...
|
|