Plasma Engine  2.0
Loading...
Searching...
No Matches
StateDX11.h
1
2#pragma once
3
4#include <RendererFoundation/State/State.h>
5
6
7struct ID3D11BlendState;
8struct ID3D11DepthStencilState;
9struct ID3D11RasterizerState;
10struct ID3D11RasterizerState2;
11struct ID3D11SamplerState;
12
13class PL_RENDERERDX11_DLL plGALBlendStateDX11 : public plGALBlendState
14{
15public:
16 PL_ALWAYS_INLINE ID3D11BlendState* GetDXBlendState() const;
17
18protected:
19 friend class plGALDeviceDX11;
20 friend class plMemoryUtils;
21
23
25
26 virtual plResult InitPlatform(plGALDevice* pDevice) override;
27
28 virtual plResult DeInitPlatform(plGALDevice* pDevice) override;
29
30 ID3D11BlendState* m_pDXBlendState = nullptr;
31};
32
33class PL_RENDERERDX11_DLL plGALDepthStencilStateDX11 : public plGALDepthStencilState
34{
35public:
36 PL_ALWAYS_INLINE ID3D11DepthStencilState* GetDXDepthStencilState() const;
37
38protected:
39 friend class plGALDeviceDX11;
40 friend class plMemoryUtils;
41
43
45
46 virtual plResult InitPlatform(plGALDevice* pDevice) override;
47
48 virtual plResult DeInitPlatform(plGALDevice* pDevice) override;
49
50 ID3D11DepthStencilState* m_pDXDepthStencilState = nullptr;
51};
52
53class PL_RENDERERDX11_DLL plGALRasterizerStateDX11 : public plGALRasterizerState
54{
55public:
56 PL_ALWAYS_INLINE ID3D11RasterizerState* GetDXRasterizerState() const;
57
58protected:
59 friend class plGALDeviceDX11;
60 friend class plMemoryUtils;
61
63
65
66 virtual plResult InitPlatform(plGALDevice* pDevice) override;
67
68 virtual plResult DeInitPlatform(plGALDevice* pDevice) override;
69
70 ID3D11RasterizerState* m_pDXRasterizerState = nullptr;
71};
72
73class PL_RENDERERDX11_DLL plGALSamplerStateDX11 : public plGALSamplerState
74{
75public:
76 PL_ALWAYS_INLINE ID3D11SamplerState* GetDXSamplerState() const;
77
78protected:
79 friend class plGALDeviceDX11;
80 friend class plMemoryUtils;
81
83
85
86 virtual plResult InitPlatform(plGALDevice* pDevice) override;
87
88 virtual plResult DeInitPlatform(plGALDevice* pDevice) override;
89
90 ID3D11SamplerState* m_pDXSamplerState = nullptr;
91};
92
93
94#include <RendererDX11/State/Implementation/StateDX11_inl.h>
Definition StateDX11.h:14
Definition State.h:7
Definition StateDX11.h:34
Definition State.h:20
The DX11 device implementation of the graphics abstraction layer.
Definition DeviceDX11.h:32
The plRenderDevice class is the primary interface for interactions with rendering APIs It contains a ...
Definition Device.h:19
Definition StateDX11.h:54
Definition State.h:33
Definition StateDX11.h:74
Definition State.h:46
This class provides functions to work on raw memory.
Definition MemoryUtils.h:26
Definition Descriptors.h:70
Describes the settings for a new rasterizer state. See plGALDevice::CreateRasterizerState.
Definition Descriptors.h:105
Definition Descriptors.h:118
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54