Sleeping Wombat Graphic API  1.010
swGraphicAPI
DX11PipelineState.h
1 #pragma once
2 
9 
10 #include "swGraphicAPI/Resources/BlendingState.h"
12 #include "swGraphicAPI/Resources/RasterizerState.h"
13 
14 
15 // ComPtr
16 #include <wrl/client.h>
17 using namespace Microsoft::WRL;
18 
19 
20 
24 {
25  RTTR_ENABLE( RasterizerState );
26 private:
27  ComPtr< ID3D11RasterizerState > m_state;
28  RasterizerStateInfo m_info;
29 
30 protected:
31  ~DX11RasterizerState() = default;
32 public:
33  explicit DX11RasterizerState ( ComPtr< ID3D11RasterizerState > state, const RasterizerStateInfo& info );
34 
35  ID3D11RasterizerState* Get () { return m_state.Get(); }
36 
37  // Inherited via RasterizerState
38  virtual std::string GetResourceName () const override;
39  virtual const RasterizerStateInfo& GetDescriptor () override;
40 
41  static DX11RasterizerState* Create ( const RasterizerStateInfo& info );
42 };
43 
44 
48 {
49  RTTR_ENABLE( DepthStencilState );
50 private:
51  ComPtr< ID3D11DepthStencilState > m_state;
52  DepthStencilInfo m_info;
53 
54 protected:
55  ~DX11DepthStencilState() = default;
56 public:
57  explicit DX11DepthStencilState ( ComPtr< ID3D11DepthStencilState > state, const DepthStencilInfo& info );
58 
59  ID3D11DepthStencilState* Get () { return m_state.Get(); }
60 
61  // Inherited via DepthStencilState
62  virtual std::string GetResourceName () const override;
63  virtual const DepthStencilInfo& GetDescriptor () override;
64 
65  static DX11DepthStencilState* Create ( const DepthStencilInfo& info );
66 };
67 
68 
72 {
73  RTTR_ENABLE( BlendingState );
74 private:
75  ComPtr< ID3D11BlendState > m_state;
76  BlendingInfo m_info;
77 
78 protected:
79  ~DX11BlendingState() = default;
80 public:
81  explicit DX11BlendingState ( ComPtr< ID3D11BlendState > state, const BlendingInfo& info );
82 
83  ID3D11BlendState* Get () { return m_state.Get(); }
84 
85  // Inherited via BlendingState
86  virtual std::string GetResourceName () const override;
87  virtual const BlendingInfo& GetDescriptor () override;
88 
89  static DX11BlendingState* Create ( const BlendingInfo& info );
90 };
91 
Definition: DepthStencilState.h:45
RasterizerState DirectX11.
Definition: DX11PipelineState.h:23
Definition: RasterizerState.h:20
Klasa przechowuje w zmiennych statycznych najważniejsze interfejsy DirectX11.
Definition: DX11APIObjects.h:64
Initialization of BlendingState.
Definition: BlendingState.h:20
Blending state DirectX11.
Definition: DX11PipelineState.h:71
Depth stencil state DirectX11.
Definition: DX11PipelineState.h:47
Definition: DepthStencilState.h:17
Zawiera deklarację klasy DX11APIObjects i DX11AuxiliaryObjects służących do inicjowania i przechowywa...
Rasterizer state and depth stencil state.
Definition: RasterizerState.h:67
Definition: BlendingState.h:72