8#include "Foundation/StringView.h"
93 for(
size_t i=0; i<numTextureHandles; i++){
94 view_desc[i].
texture = textureHandles[i];
BlendFlags
Definition: Common.h:155
Encapsulates blend state for the graphics pipeline in a state object.
Definition: BlendState.h:9
Encapsulates state for depth buffer usage and stencil buffer usage in a state object.
Definition: DepthStencilState.h:13
Describes a single depth stencil view and which resources to use from the underlying texture.
Definition: IRenderTargets.h:33
TextureHandle texture
Texture handle.
Definition: IRenderTargets.h:35
uint16_t numLayers
Number of available layers to write to.
Definition: IRenderTargets.h:39
uint8_t levelIndex
Index of the mipmap level to render to.
Definition: IRenderTargets.h:41
uint16_t layerIndex
Index of the first layer (if array) to write depth to.
Definition: IRenderTargets.h:37
static const Handle_t NoHandle
Represents a handle to nothing.
Definition: Common.h:78
static const Handle_t InvalidHandle
Represents an invalid handle.
Definition: Common.h:81
Provides render target management functionality.
Definition: IRenderTargets.h:61
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 RenderTargetHandle createRenderTarget(const RenderTargetViewDescription *renderTargetViews, const size_t numViews)=0
Create a render target using the given view descriptions.
virtual DepthStencilHandle createDepthStencilTarget(const RenderTargetHandle handle)=0
Creates a depth/stencil target to back the render target with the given handle.
virtual BlendStateHandle loadBlendState(const BlendState *, const BlendState *, const uint32_t, const BlendFlags)
Definition: IRenderTargets.h:216
virtual void releaseDepthStencilState(DepthStencilStateHandle handle)=0
Release the depth stencil state with the given handle.
virtual BlendStateHandle loadBlendState(const BlendState &blendStateColor, const BlendState &blendStateAlpha, const BlendFlags)
Definition: IRenderTargets.h:214
virtual void releaseResources()=0
Release all allocated render target resources.
virtual void releaseDepthStencilTarget(DepthStencilHandle depthStencilHandle)=0
Release the depth target with the given depthStencilHandle.
virtual void annotate(RenderTargetHandle handle, const StringView &name)
Associate a name with an object for use in graphics debugging.
Definition: IRenderTargets.h:65
virtual RenderTargetHandle createRenderTarget(const RenderTargetViewDescription *, const size_t, const MultiViewDescription &)
Definition: IRenderTargets.h:112
virtual void releaseBlendState(BlendStateHandle handle)=0
Release the blend state with the given handle.
virtual RasterizerStateHandle loadRasterizerState(const RasterizerState &rasterizerState)=0
Load a rasterizer state object.
virtual void annotate(DepthStencilHandle handle, const StringView &name)
Associate a name with an object for use in graphics debugging.
Definition: IRenderTargets.h:70
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 DepthStencilStateHandle loadDepthStencilState(const DepthStencilState &depthStencilState)=0
Load a depth stencil state object.
virtual DepthStencilHandle createDepthStencilTarget(const RenderTargetHandle, const DepthStencilViewDescription &, const MultiViewDescription &)
Definition: IRenderTargets.h:155
virtual BlendStateHandle loadBlendState(const BlendState &blendStateColor, const BlendState &)
Load a blend state object with separate blending for alpha channel.
Definition: IRenderTargets.h:212
virtual DepthStencilHandle createDepthStencilTarget(const RenderTargetHandle handle, const DepthStencilViewDescription &depthStencilView)=0
Creates a depth stencil view using the given description.
virtual RenderTargetHandle createRenderTarget(TextureHandle *textureHandles, const size_t numTextureHandles)
Create a multi render target (MRT) with using the given textures to render into.
Definition: IRenderTargets.h:90
virtual void releaseRenderTarget(RenderTargetHandle renderTargetHandle)=0
Release the render target with the given renderTargetHandle.
virtual RenderTargetHandle createRenderTarget(TextureHandle textureHandle)
Create a render target using the given texture to render into.
Definition: IRenderTargets.h:78
Describes multiview framebuffer layout.
Definition: IRenderTargets.h:47
uint8_t samples
Number of multisample samples, 0 and 1 implies no multisampling.
Definition: IRenderTargets.h:49
uint8_t baseIndex
Texture array index for first texture slice to render into.
Definition: IRenderTargets.h:51
uint8_t count
Number of texture array slices to render into.
Definition: IRenderTargets.h:53
Encapsulates state for primitive rasterization in a state object.
Definition: RasterizerState.h:12
Describes a single render target view and which resources to use from the underlying texture.
Definition: IRenderTargets.h:17
uint16_t layerIndex
Index of the first layer (if array) to render to.
Definition: IRenderTargets.h:21
uint16_t numLayers
Number of available layers to render to.
Definition: IRenderTargets.h:23
TextureHandle texture
Texture handle.
Definition: IRenderTargets.h:19
uint8_t levelIndex
Index of the mipmap level to render to.
Definition: IRenderTargets.h:25