|
Cogs.Core
|
Provides render target management functionality. More...
#include <IRenderTargets.h>
Public Member Functions | |
| virtual void | annotate (RenderTargetHandle handle, const StringView &name) |
| Associate a name with an object for use in graphics debugging. | |
| virtual void | annotate (DepthStencilHandle handle, const StringView &name) |
| Associate a name with an object for use in graphics debugging. | |
| virtual RenderTargetHandle | createRenderTarget (TextureHandle textureHandle) |
| Create a render target using the given texture to render into. | |
| virtual RenderTargetHandle | createRenderTarget (TextureHandle *textureHandles, const size_t numTextureHandles) |
| Create a multi render target (MRT) with using the given textures to render into. | |
| virtual RenderTargetHandle | createRenderTarget (const RenderTargetViewDescription *renderTargetViews, const size_t numViews)=0 |
| Create a render target using the given view descriptions. | |
| virtual RenderTargetHandle | createRenderTarget (const RenderTargetViewDescription *, const size_t, const MultiViewDescription &) |
| virtual void | releaseRenderTarget (RenderTargetHandle renderTargetHandle)=0 |
| Release the render target with the given renderTargetHandle. | |
| virtual DepthStencilHandle | createDepthStencilTarget (const RenderTargetHandle handle)=0 |
| Creates a depth/stencil target to back the render target with the given handle. | |
| virtual DepthStencilHandle | createDepthStencilTarget (const RenderTargetHandle handle, const TextureHandle textureHandle)=0 |
| Creates a depth/stencil target to back the render target with the given handle. | |
| virtual DepthStencilHandle | createDepthStencilTarget (const RenderTargetHandle handle, const DepthStencilViewDescription &depthStencilView)=0 |
| Creates a depth stencil view using the given description. | |
| virtual DepthStencilHandle | createDepthStencilTarget (const RenderTargetHandle, const DepthStencilViewDescription &, const MultiViewDescription &) |
| virtual void | releaseDepthStencilTarget (DepthStencilHandle depthStencilHandle)=0 |
| Release the depth target with the given depthStencilHandle. | |
| virtual DepthStencilStateHandle | loadDepthStencilState (const DepthStencilState &depthStencilState)=0 |
| Load a depth stencil state object. | |
| virtual void | releaseDepthStencilState (DepthStencilStateHandle handle)=0 |
| Release the depth stencil state with the given handle. | |
| virtual RasterizerStateHandle | loadRasterizerState (const RasterizerState &rasterizerState)=0 |
| Load a rasterizer state object. | |
| virtual void | releaseRasterizerState (RasterizerStateHandle handle)=0 |
| Release the rasterizer state with the given handle. | |
| virtual BlendStateHandle | loadBlendState (const BlendState &blendState)=0 |
| Load a blend state object. | |
| virtual BlendStateHandle | loadBlendState (const BlendState &blendStateColor, const BlendState &) |
| Load a blend state object with separate blending for alpha channel. | |
| virtual BlendStateHandle | loadBlendState (const BlendState &blendStateColor, const BlendState &blendStateAlpha, const BlendFlags) |
| virtual BlendStateHandle | loadBlendState (const BlendState *, const BlendState *, const uint32_t, const BlendFlags) |
| virtual void | releaseBlendState (BlendStateHandle handle)=0 |
| Release the blend state with the given handle. | |
| virtual void | releaseResources ()=0 |
| Release all allocated render target resources. | |
Provides render target management functionality.
Definition at line 60 of file IRenderTargets.h.
|
inlinevirtual |
Associate a name with an object for use in graphics debugging.
Reimplemented in Cogs::RenderTargetsD3D11, Cogs::RenderTargetsGL20, Cogs::RenderTargetsNull, and Cogs::RenderTargetsWebGPU.
Definition at line 70 of file IRenderTargets.h.
|
inlinevirtual |
Associate a name with an object for use in graphics debugging.
Reimplemented in Cogs::RenderTargetsD3D11, Cogs::RenderTargetsGL20, Cogs::RenderTargetsNull, and Cogs::RenderTargetsWebGPU.
Definition at line 65 of file IRenderTargets.h.
|
pure virtual |
Creates a depth/stencil target to back the render target with the given handle.
The dimensions of the render target are matched and a suitable depth format for the graphics device is chosen.
| handle | Valid handle to a render target to create depth target backing for. |
Implemented in Cogs::RenderTargetsD3D12, Cogs::RenderTargetsD3D11, Cogs::RenderTargetsGL20, Cogs::RenderTargetsGLES30, Cogs::RenderTargetsVK, Cogs::RenderTargetsWebGPU, and Cogs::RenderTargetsNull.
|
pure virtual |
Creates a depth stencil view using the given description.
| handle | Valid handle to a render target to create depth target backing for. |
| depthStencilView | Depth stencil view description. |
Implemented in Cogs::RenderTargetsD3D11, Cogs::RenderTargetsD3D12, Cogs::RenderTargetsGL20, Cogs::RenderTargetsGLES30, Cogs::RenderTargetsVK, Cogs::RenderTargetsWebGPU, and Cogs::RenderTargetsNull.
References Cogs::Handle_t< DepthStencilTag >::InvalidHandle.
|
pure virtual |
Creates a depth/stencil target to back the render target with the given handle.
The texture with the given textureHandle is used as backing for the depth target. The texture must be of a format that supports depth values, and be flagged for use as a depth texture.
| handle | Valid handle to a render target to create depth target backing for. |
| textureHandle | Valid handle to a texture to use as backing to render depth values to. |
Implemented in Cogs::RenderTargetsD3D12, Cogs::RenderTargetsD3D11, Cogs::RenderTargetsGL20, Cogs::RenderTargetsGLES30, Cogs::RenderTargetsVK, Cogs::RenderTargetsWebGPU, and Cogs::RenderTargetsNull.
|
inlinevirtual |
Definition at line 155 of file IRenderTargets.h.
|
inlinevirtual |
Definition at line 112 of file IRenderTargets.h.
|
pure virtual |
Create a render target using the given view descriptions.
| renderTargetViews | Pointer to an array of render target view descriptions. |
| numViews | Number of views in the array pointed to by renderTargetViews. |
Implemented in Cogs::RenderTargetsNull, Cogs::RenderTargetsD3D11, Cogs::RenderTargetsD3D12, Cogs::RenderTargetsGL20, Cogs::RenderTargetsGLES30, Cogs::RenderTargetsVK, and Cogs::RenderTargetsWebGPU.
References Cogs::Handle_t< RenderTargetTag >::InvalidHandle.
|
inlinevirtual |
Create a multi render target (MRT) with using the given textures to render into.
| textureHandles | Pointer to an array of valid texture handles to textures to use as render textures for the render target. |
| numTextureHandles | Number of textures to use as targets in the MRT. |
Definition at line 90 of file IRenderTargets.h.
References createRenderTarget(), Cogs::RenderTargetViewDescription::layerIndex, Cogs::RenderTargetViewDescription::levelIndex, Cogs::RenderTargetViewDescription::numLayers, and Cogs::RenderTargetViewDescription::texture.
|
inlinevirtual |
Create a render target using the given texture to render into.
| textureHandle | Valid handle to a texture to use as render texture for the render target. |
Definition at line 78 of file IRenderTargets.h.
References createRenderTarget().
Referenced by createRenderTarget().
|
pure virtual |
Load a blend state object.
| blendState | Blend state object to load. |
Implemented in Cogs::RenderTargetsD3D12, Cogs::RenderTargetsD3D11, Cogs::RenderTargetsNull, Cogs::RenderTargetsGL20, Cogs::RenderTargetsGLES30, Cogs::RenderTargetsVK, and Cogs::RenderTargetsWebGPU.
|
inlinevirtual |
Load a blend state object with separate blending for alpha channel.
| blendStateColor | Blend state object for the color channels to load. |
| blendStateAlpha | Blend state object for the alpha channel to load. |
Reimplemented in Cogs::RenderTargetsNull, Cogs::RenderTargetsD3D11, Cogs::RenderTargetsD3D12, Cogs::RenderTargetsGL20, Cogs::RenderTargetsGLES30, and Cogs::RenderTargetsWebGPU.
Definition at line 212 of file IRenderTargets.h.
References loadBlendState().
Referenced by loadBlendState().
|
inlinevirtual |
Definition at line 214 of file IRenderTargets.h.
|
inlinevirtual |
Definition at line 216 of file IRenderTargets.h.
|
pure virtual |
Load a depth stencil state object.
| depthStencilState | Depth stencil state object to load. |
Implemented in Cogs::RenderTargetsD3D12, Cogs::RenderTargetsD3D11, Cogs::RenderTargetsNull, Cogs::RenderTargetsGL20, Cogs::RenderTargetsGLES30, Cogs::RenderTargetsVK, and Cogs::RenderTargetsWebGPU.
Referenced by Cogs::Core::HighlightRegionRenderer::initialize(), and Cogs::Core::Volumetric::OctRenderer::initialize().
|
pure virtual |
Load a rasterizer state object.
| rasterizerState | Rasterizer state object to load. |
Implemented in Cogs::RenderTargetsD3D12, Cogs::RenderTargetsD3D11, Cogs::RenderTargetsNull, Cogs::RenderTargetsGL20, Cogs::RenderTargetsGLES30, Cogs::RenderTargetsVK, and Cogs::RenderTargetsWebGPU.
|
pure virtual |
Release the blend state with the given handle.
| handle | Valid handle to a blend state object. |
Implemented in Cogs::RenderTargetsNull, Cogs::RenderTargetsWebGPU, Cogs::RenderTargetsD3D12, Cogs::RenderTargetsD3D11, Cogs::RenderTargetsGL20, Cogs::RenderTargetsGLES30, and Cogs::RenderTargetsVK.
|
pure virtual |
Release the depth stencil state with the given handle.
| handle | Valid handle to a depth stencil state object. |
Implemented in Cogs::RenderTargetsNull, Cogs::RenderTargetsWebGPU, Cogs::RenderTargetsD3D12, Cogs::RenderTargetsD3D11, Cogs::RenderTargetsGL20, Cogs::RenderTargetsGLES30, and Cogs::RenderTargetsVK.
|
pure virtual |
Release the depth target with the given depthStencilHandle.
| depthStencilHandle | Valid handle to a previously created depth/stencil target. |
Implemented in Cogs::RenderTargetsNull, Cogs::RenderTargetsGL20, Cogs::RenderTargetsGLES30, Cogs::RenderTargetsVK, Cogs::RenderTargetsD3D12, Cogs::RenderTargetsD3D11, and Cogs::RenderTargetsWebGPU.
|
pure virtual |
Release the rasterizer state with the given handle.
| handle | Valid handle to a rasterizer state object. |
Implemented in Cogs::RenderTargetsD3D12, Cogs::RenderTargetsD3D11, Cogs::RenderTargetsGL20, Cogs::RenderTargetsGLES30, Cogs::RenderTargetsVK, Cogs::RenderTargetsNull, and Cogs::RenderTargetsWebGPU.
|
pure virtual |
Release the render target with the given renderTargetHandle.
| renderTargetHandle | Valid handle to a previously created render target. |
Implemented in Cogs::RenderTargetsD3D11, Cogs::RenderTargetsD3D12, Cogs::RenderTargetsWebGPU, Cogs::RenderTargetsNull, Cogs::RenderTargetsGL20, Cogs::RenderTargetsGLES30, and Cogs::RenderTargetsVK.
|
pure virtual |
Release all allocated render target resources.
Implemented in Cogs::RenderTargetsD3D12, Cogs::RenderTargetsD3D11, Cogs::RenderTargetsNull, Cogs::RenderTargetsGL20, Cogs::RenderTargetsGLES30, Cogs::RenderTargetsVK, and Cogs::RenderTargetsWebGPU.