4#include "RasterizerState.h"
5#include "DepthStencilState.h"
91 for(
size_t i=0; i<numTextureHandles; i++){
92 view_desc[i].
texture = textureHandles[i];
214 virtual BlendStateHandle
loadBlendState(
const BlendState * blendStateColor,
const BlendState * blendStateAlpha,
const uint32_t numBlendStates,
const uint32_t flags) { (void)blendStateColor; (void)blendStateAlpha; (void)numBlendStates; (void)flags;
return BlendStateHandle::NoHandle; }
Provides a weakly referenced view over the contents of a string.
Contains all Cogs related functionality.
Encapsulates blend state for the graphics pipeline in a state object.
Encapsulates state for depth buffer usage and stencil buffer usage in a state object.
Describes a single depth stencil view and which resources to use from the underlying texture.
TextureHandle texture
Texture handle.
uint16_t numLayers
Number of available layers to write to.
uint8_t levelIndex
Index of the mipmap level to render to.
uint16_t layerIndex
Index of the first layer (if array) to write depth to.
static const Handle_t NoHandle
Represents a handle to nothing.
static const Handle_t InvalidHandle
Represents an invalid handle.
Provides render target management functionality.
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 void releaseDepthStencilState(DepthStencilStateHandle handle)=0
Release the depth stencil state with the given handle.
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.
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.
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 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.
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.
virtual BlendStateHandle loadBlendState(const BlendState &blendStateColor, const BlendState &blendStateAlpha)
Load a blend state object with separate blending for alpha channel.
Describes multiview framebuffer layout.
uint8_t samples
Number of multisample samples, 0 and 1 implies no multisampling.
uint8_t baseIndex
Texture array index for first texture slice to render into.
uint8_t count
Number of texture array slices to render into.
Encapsulates state for primitive rasterization in a state object.
Describes a single render target view and which resources to use from the underlying texture.
uint16_t layerIndex
Index of the first layer (if array) to render to.
uint16_t numLayers
Number of available layers to render to.
TextureHandle texture
Texture handle.
uint8_t levelIndex
Index of the mipmap level to render to.