|
SleakEngine 1.0.0
C++23 multi-backend game engine
|
Abstract interface for high-level graphics command execution and resource management. More...
#include <RenderContext.hpp>
Public Member Functions | |
| virtual void | BeginCustomFormatPass (VertexFormatHandle format) |
| Binds the pipeline built for a registered vertex layout in the active render pass. | |
| virtual void | BeginDebugLinePass () |
| virtual void | BeginForwardTransparentPass () |
| virtual void | BeginShadowPass () |
| virtual void | BeginSkinnedPass () |
| virtual void | BeginSkyboxPass () |
| virtual void | BindBoneBuffer (RefPtr< BufferBase > buffer) |
| virtual void | BindConstantBuffer (RefPtr< BufferBase > buffer, uint32_t slot=0)=0 |
| virtual void | BindGBufferShader () |
| virtual void | BindIndexBuffer (RefPtr< BufferBase > buffer, uint32_t slot=0)=0 |
| virtual void | BindPBRMaterial (Sleak::Material *material) |
| virtual void | BindTexture (RefPtr< Sleak::Texture > texture, uint32_t slot=0) |
| virtual void | BindTextureRaw (Sleak::Texture *texture, uint32_t slot=0) |
| virtual void | BindVertexBuffer (RefPtr< BufferBase > buffer, uint32_t slot=0)=0 |
| virtual void | ClearDepthStencil (bool clearDepth, bool clearStencil, float depth, uint8_t stencil)=0 |
| virtual void | ClearRenderTarget (float r, float g, float b, float a)=0 |
| virtual BufferBase * | CreateBuffer (BufferType Type, uint32_t size, void *data)=0 |
| Allocates a backend buffer, optionally seeded with initial data. | |
| virtual Shader * | CreateShader (const std::string &shaderSource)=0 |
| Compiles a shader program from source or a source-file path. | |
| virtual Texture * | CreateTexture (const std::string &TexturePath)=0 |
| Loads a texture from disk. | |
| virtual Texture * | CreateTextureFromData (uint32_t width, uint32_t height, void *data)=0 |
| Creates a texture from an in-memory pixel buffer. | |
| virtual void | Draw (uint32_t vertexCount)=0 |
| Non-indexed draw from the currently bound vertex buffer. | |
| virtual void | DrawIndexed (uint32_t indexCount)=0 |
| Indexed draw from the currently bound vertex/index buffers. | |
| virtual void | DrawIndexedInstance (uint32_t instanceCount, uint32_t indexPerInstance)=0 |
| Indexed instanced draw. | |
| virtual void | DrawInstance (uint32_t instanceCount, uint32_t vertexPerInstance)=0 |
| Non-indexed instanced draw. | |
| virtual void | EndCustomFormatPass () |
| Restores the pipeline that was active before the custom format draws. | |
| virtual void | EndDebugLinePass () |
| virtual void | EndForwardTransparentPass () |
| virtual void | EndShadowPass () |
| virtual void | EndSkinnedPass () |
| virtual void | EndSkyboxPass () |
| virtual void | ExecuteDeferredLightingPass () |
| virtual bool | IsDeferredEnabled () const |
| virtual bool | IsInGeometryPass () const |
| virtual bool | IsShadowPassActive () const |
| virtual void | SetCullEnabled (bool enabled) |
| virtual void | SetDepthCompare (DepthCompare compare) |
| virtual void | SetDepthWrite (bool enabled) |
| virtual void | SetRenderFace (RenderFace face)=0 |
| virtual void | SetRenderMode (RenderMode mode)=0 |
| virtual void | SetViewport (float x, float y, float width, float height, float minDepth=0.0f, float maxDepth=1.0f)=0 |
| Sets the active viewport rect and depth range in pixel/NDC units. | |
| virtual void | UpdateDeferredCB (const void *data, uint32_t size) |
Abstract interface for high-level graphics command execution and resource management.
Definition at line 55 of file RenderContext.hpp.
|
inlinevirtual |
Binds the pipeline built for a registered vertex layout in the active render pass.
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 95 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
Definition at line 100 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 122 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 104 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 90 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 83 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
Definition at line 87 of file RenderContext.hpp.
|
pure virtual |
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 114 of file RenderContext.hpp.
|
pure virtual |
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 117 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
Definition at line 79 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 80 of file RenderContext.hpp.
|
pure virtual |
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
pure virtual |
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
pure virtual |
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
pure virtual |
Allocates a backend buffer, optionally seeded with initial data.
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
pure virtual |
Compiles a shader program from source or a source-file path.
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
pure virtual |
Loads a texture from disk.
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
pure virtual |
Creates a texture from an in-memory pixel buffer.
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
pure virtual |
Non-indexed draw from the currently bound vertex buffer.
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
pure virtual |
Indexed draw from the currently bound vertex/index buffers.
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
pure virtual |
Indexed instanced draw.
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
pure virtual |
Non-indexed instanced draw.
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
inlinevirtual |
Restores the pipeline that was active before the custom format draws.
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 97 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
Definition at line 101 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 124 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 105 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 91 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 84 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 120 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 112 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 110 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 106 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::OpenGLRenderer.
Definition at line 78 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::OpenGLRenderer.
Definition at line 77 of file RenderContext.hpp.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::OpenGLRenderer.
Definition at line 76 of file RenderContext.hpp.
|
pure virtual |
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
pure virtual |
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
pure virtual |
Sets the active viewport rect and depth range in pixel/NDC units.
Implemented in Sleak::RenderEngine::OpenGLRenderer, and Sleak::RenderEngine::VulkanRenderer.
|
inlinevirtual |
Reimplemented in Sleak::RenderEngine::VulkanRenderer.
Definition at line 126 of file RenderContext.hpp.