Sleeping Wombat Graphic API  1.010
swGraphicAPI
RasterizerState.h
1 #pragma once
2 
8 #include "swCommonLib/Common/ObjectDeleter.h"
9 #include "ResourceObject.h"
10 
11 
21 {
24  int DepthBias;
25  bool IsClockwise;
26  bool EnableScissor;
29 
30 
31 // ================================ //
32 //
34  : CullMode( CullMode::Back )
35  , FillMode( FillMode::Solid )
36  , DepthBias( 0 )
37  , IsClockwise( false )
38  , EnableScissor( false )
39  , EnableZClipping( true )
40  , ConservativeRasterizer( false )
41  {}
42 
43 #define Compare( x ) if( x != other.x ) return false;
44 
45 
46  bool operator== ( const RasterizerStateInfo& other ) const
47  {
48  Compare( CullMode );
49  Compare( FillMode );
50  Compare( DepthBias );
51  Compare( IsClockwise );
52  Compare( EnableScissor );
53  Compare( EnableZClipping );
54  Compare( ConservativeRasterizer );
55  return true;
56  }
57 
58 #undef Compare
59 };
60 
61 
62 
63 
68 {
69  RTTR_ENABLE( ResourceObject );
70  friend ObjectDeleter< RasterizerState >;
71 private:
72 protected:
73  virtual ~RasterizerState() = default;
74 public:
75  explicit RasterizerState()
76  : ResourceObject( 0 )
77  {}
78 
79 
80  virtual const RasterizerStateInfo& GetDescriptor () = 0;
81 };
82 
bool ConservativeRasterizer
Since in DirectX 11.2.
Definition: RasterizerState.h:28
ResourceObject(int id)
Definition: ResourceObject.h:44
Definition: RasterizerState.h:20
CullMode
Polygon culling mode.
Definition: GraphicAPIConstants.h:50
FillMode
Polygon fill mode.
Definition: GraphicAPIConstants.h:61
bool EnableZClipping
Clipping of far plane.
Definition: RasterizerState.h:27
Plik zawiera deklarację i definicję klasy ResourceObject służącą do zliczania odwołań do obiektu...
Rasterizer state and depth stencil state.
Definition: RasterizerState.h:67
Klasa ułatwiająca zarządzanie odwołaniami do assetów.Obiekty assetów (np. MaterialObject, TextureObject, VertexShader, PixelShader itp.) wymagają jakiegoś systemu zapewniającego współdzielenie między innymi obiektami.
Definition: ResourceObject.h:30