Cogs.Core
|
Public Member Functions | |
void | initialize (TexturesGL20 *textures) |
RenderTargetHandle | createRenderTarget (const RenderTargetViewDescription *renderTargetViews, const size_t numViews) override |
Create a render target using the given view descriptions. | |
void | releaseRenderTarget (RenderTargetHandle renderTargetHandle) override |
Release the render target with the given renderTargetHandle. | |
DepthStencilHandle | createDepthStencilTarget (const RenderTargetHandle handle) override |
Creates a depth/stencil target to back the render target with the given handle. | |
DepthStencilHandle | createDepthStencilTarget (const RenderTargetHandle handle, const TextureHandle textureHandle) override |
Creates a depth/stencil target to back the render target with the given handle. | |
DepthStencilHandle | createDepthStencilTarget (const RenderTargetHandle handle, const DepthStencilViewDescription &depthStencilView) override |
Creates a depth stencil view using the given description. | |
void | releaseDepthStencilTarget (DepthStencilHandle depthStencilHandle) override |
Release the depth target with the given depthStencilHandle. | |
DepthStencilStateHandle | loadDepthStencilState (const DepthStencilState &depthStencilState) override |
Load a depth stencil state object. | |
void | releaseDepthStencilState (DepthStencilStateHandle handle) override |
Release the depth stencil state with the given handle. | |
RasterizerStateHandle | loadRasterizerState (const RasterizerState &rasterizerState) override |
Load a rasterizer state object. | |
void | releaseRasterizerState (RasterizerStateHandle handle) override |
Release the rasterizer state with the given handle. | |
BlendStateHandle | loadBlendState (const BlendState &blendState) override |
Load a blend state object. | |
BlendStateHandle | loadBlendState (const BlendState &blendStateColor, const BlendState &blendStateAlpha) override |
Load a blend state object with separate blending for alpha channel. | |
void | releaseBlendState (BlendStateHandle handle) override |
Release the blend state with the given handle. | |
void | releaseResources () override |
Release all allocated render target resources. | |
void | annotate (RenderTargetHandle handle, const StringView &name) override |
Associate a name with an object for use in graphics debugging. | |
void | annotate (DepthStencilHandle handle, const StringView &name) override |
Associate a name with an object for use in graphics debugging. | |
![]() | |
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 &blendStateAlpha) |
Load a blend state object with separate blending for alpha channel. | |
virtual BlendStateHandle | loadBlendState (const BlendState &blendStateColor, const BlendState &blendStateAlpha, const uint32_t flags) |
virtual BlendStateHandle | loadBlendState (const BlendState *blendStateColor, const BlendState *blendStateAlpha, const uint32_t numBlendStates, const uint32_t flags) |
virtual void | releaseBlendState (BlendStateHandle handle)=0 |
Release the blend state with the given handle. | |
virtual void | releaseResources ()=0 |
Release all allocated render target resources. | |
Definition at line 37 of file RenderTargetsGL20.h.
Cogs::RenderTargetsGL20::~RenderTargetsGL20 | ( | ) |
Definition at line 46 of file RenderTargetsGL20.cpp.
|
overridevirtual |
Associate a name with an object for use in graphics debugging.
Reimplemented from Cogs::IRenderTargets.
Definition at line 291 of file RenderTargetsGL20.cpp.
References Cogs::StringView::data(), Cogs::StringView::empty(), and Cogs::StringView::size().
|
overridevirtual |
Associate a name with an object for use in graphics debugging.
Reimplemented from Cogs::IRenderTargets.
Definition at line 279 of file RenderTargetsGL20.cpp.
References Cogs::StringView::data(), Cogs::StringView::empty(), and Cogs::StringView::size().
|
overridevirtual |
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. |
Implements Cogs::IRenderTargets.
Definition at line 105 of file RenderTargetsGL20.cpp.
References Cogs::Handle_t< DepthStencilTag >::InvalidHandle, and Cogs::Handle_t< TextureTag >::NoHandle.
Referenced by Cogs::SwapChainGL20::recreateOffscreenBuffers().
|
overridevirtual |
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. |
Implements Cogs::IRenderTargets.
Definition at line 163 of file RenderTargetsGL20.cpp.
References Cogs::Handle_t< DepthStencilTag >::InvalidHandle, Cogs::DepthStencilViewDescription::layerIndex, Cogs::DepthStencilViewDescription::levelIndex, and Cogs::DepthStencilViewDescription::texture.
|
overridevirtual |
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. |
Implements Cogs::IRenderTargets.
Definition at line 137 of file RenderTargetsGL20.cpp.
References Cogs::Handle_t< DepthStencilTag >::InvalidHandle.
|
overridevirtual |
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. |
Implements Cogs::IRenderTargets.
Definition at line 56 of file RenderTargetsGL20.cpp.
References Cogs::Handle_t< RenderTargetTag >::InvalidHandle, Cogs::RenderTargetViewDescription::layerIndex, Cogs::RenderTargetViewDescription::levelIndex, and Cogs::RenderTargetViewDescription::texture.
Referenced by Cogs::SwapChainGL20::recreateOffscreenBuffers().
|
inline |
Definition at line 39 of file RenderTargetsGL20.h.
|
overridevirtual |
Load a blend state object.
blendState | Blend state object to load. |
Implements Cogs::IRenderTargets.
Definition at line 235 of file RenderTargetsGL20.cpp.
|
overridevirtual |
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 from Cogs::IRenderTargets.
Definition at line 240 of file RenderTargetsGL20.cpp.
|
overridevirtual |
Load a depth stencil state object.
depthStencilState | Depth stencil state object to load. |
Implements Cogs::IRenderTargets.
Definition at line 215 of file RenderTargetsGL20.cpp.
|
overridevirtual |
Load a rasterizer state object.
rasterizerState | Rasterizer state object to load. |
Implements Cogs::IRenderTargets.
Definition at line 225 of file RenderTargetsGL20.cpp.
|
overridevirtual |
Release the blend state with the given handle.
handle | Valid handle to a blend state object. |
Implements Cogs::IRenderTargets.
Definition at line 249 of file RenderTargetsGL20.cpp.
|
overridevirtual |
Release the depth stencil state with the given handle.
handle | Valid handle to a depth stencil state object. |
Implements Cogs::IRenderTargets.
Definition at line 220 of file RenderTargetsGL20.cpp.
|
overridevirtual |
Release the depth target with the given depthStencilHandle.
depthStencilHandle | Valid handle to a previously created depth/stencil target. |
Implements Cogs::IRenderTargets.
Definition at line 204 of file RenderTargetsGL20.cpp.
Referenced by Cogs::SwapChainGL20::recreateOffscreenBuffers().
|
overridevirtual |
Release the rasterizer state with the given handle.
handle | Valid handle to a rasterizer state object. |
Implements Cogs::IRenderTargets.
Definition at line 230 of file RenderTargetsGL20.cpp.
|
overridevirtual |
Release the render target with the given renderTargetHandle.
renderTargetHandle | Valid handle to a previously created render target. |
Implements Cogs::IRenderTargets.
Definition at line 96 of file RenderTargetsGL20.cpp.
Referenced by Cogs::SwapChainGL20::recreateOffscreenBuffers().
|
overridevirtual |
Release all allocated render target resources.
Implements Cogs::IRenderTargets.
Definition at line 254 of file RenderTargetsGL20.cpp.
ResourceMap<BlendStateHandle, BlendStateGL20> Cogs::RenderTargetsGL20::blendStates |
Definition at line 70 of file RenderTargetsGL20.h.
ResourceMap<DepthStencilHandle, DepthStencilTargetGL20> Cogs::RenderTargetsGL20::depthStencils |
Definition at line 75 of file RenderTargetsGL20.h.
ResourceMap<DepthStencilStateHandle, DepthStencilState> Cogs::RenderTargetsGL20::depthStencilStates |
Definition at line 72 of file RenderTargetsGL20.h.
ResourceMap<RasterizerStateHandle, RasterizerState> Cogs::RenderTargetsGL20::rasterizerStates |
Definition at line 71 of file RenderTargetsGL20.h.
ResourceMap<RenderTargetHandle, RenderTargetGL20> Cogs::RenderTargetsGL20::renderTargets |
Definition at line 74 of file RenderTargetsGL20.h.
TexturesGL20* Cogs::RenderTargetsGL20::textures |
Definition at line 77 of file RenderTargetsGL20.h.