4#include <unordered_map>
7#include "Rendering/Common.h"
8#include "Rendering/RasterizerState.h"
9#include "Rendering/DepthStencilState.h"
10#include "Rendering/SamplerState.h"
11#include "Rendering/BlendState.h"
13#include "Resources/MaterialOptions.h"
17 class IGraphicsDevice;
21 struct RenderPassOptions;
29 bool reverseDepth =
false;
34 std::vector<Cogs::RasterizerStateHandle> rasterizerStateHandles;
40 } blendStates[size_t(BlendMode::Count)];
63 bool counterClockWise);
65 COGSCORE_DLL_API uint16_t getRasterizerState(
const RasterizerState & rs);
78 std::unordered_map<RasterizerState, RasterizerStateInstance> rasterizerStates;
79 std::unordered_map<DepthStencilState, Cogs::DepthStencilStateHandle> depthStencilStates;
80 std::unordered_map<SamplerState, Cogs::SamplerStateHandle> samplerStates;
Represents a graphics device used to manage graphics resources and issue drawing commands.
Contains all Cogs related functionality.
Encapsulates blend state for the graphics pipeline in a state object.
static BlendState DefaultState()
Creates a blend state object initialized with the default settings.
Encapsulates state for depth buffer usage and stencil buffer usage in a state object.
static const Handle_t NoHandle
Represents a handle to nothing.
Encapsulates state for primitive rasterization in a state object.
CullMode
Culling modes for triangle rasterization.
Encapsulates state for texture sampling in a state object.