Sleeping Wombat GUI  0.100
swGUI
BlendingState.h
Go to the documentation of this file.
1 #pragma once
2 
9 
10 #include "ResourceObject.h"
12 
13 #include <DirectXMath.h>
14 
15 
16 
21 {
22  DirectX::XMFLOAT4 CustomBlendFactor;
30 
31 // ================================ //
32 //
34  : CustomBlendFactor( DirectX::XMFLOAT4( 0.0f, 0.0f, 0.0f, 0.0f ) )
35  , EnableBlending( false )
36  , ColorOperation( BlendOperation::Add )
37  , AlphaOperation( BlendOperation::Add )
38  , SrcColorBlend( BlendFactor::One )
39  , DstColorBlend( BlendFactor::One )
40  , SrcAlphaBlend( BlendFactor::One )
41  , DstAlphaBlend( BlendFactor::One )
42  {}
43 
44 #define Compare( x ) if( x != other.x ) return false;
45 
46  bool operator== ( const BlendingInfo& other ) const
47  {
48  Compare( CustomBlendFactor.x );
49  Compare( CustomBlendFactor.y );
50  Compare( CustomBlendFactor.z );
51  Compare( CustomBlendFactor.w );
52  Compare( EnableBlending );
53  Compare( ColorOperation );
54  Compare( EnableBlending );
55  Compare( AlphaOperation );
56  Compare( SrcColorBlend );
57  Compare( DstColorBlend );
58  Compare( SrcAlphaBlend );
59  Compare( DstAlphaBlend );
60  return true;
61  }
62 
63 #undef Compare
64 };
65 
66 
67 
68 
73 {
76 private:
77 protected:
78 
79  virtual ~BlendingState() = default;
80 
81 public:
82  explicit BlendingState()
83  : ResourceObject( 0 )
84  {}
85 
86 
87  virtual const BlendingInfo& GetDescriptor () = 0;
88 };
89 
RTTR_ENABLE(ResourceObject)
BlendOperation ColorOperation
Definition: BlendingState.h:24
#define Compare(x)
Definition: BlendingState.h:44
BlendFactor DstAlphaBlend
Definition: BlendingState.h:29
bool operator==(const BlendingInfo &other) const
Definition: BlendingState.h:46
BlendFactor SrcColorBlend
Definition: BlendingState.h:26
BlendingState()
Definition: BlendingState.h:82
Klasa służy do kasowania obiektów, których destruktor jest prywatny.Taka sytuacja zachodzi w momencie...
Definition: ObjectDeleter.h:59
Initialization of BlendingState.
Definition: BlendingState.h:20
DirectX::XMFLOAT4 CustomBlendFactor
Custom blend factors.
Definition: BlendingState.h:22
BlendFactor
Blend factor for blending equation.
Definition: GraphicAPIConstants.h:28
BlendFactor SrcAlphaBlend
Definition: BlendingState.h:28
virtual const BlendingInfo & GetDescriptor()=0
virtual ~BlendingState()=default
BlendFactor DstColorBlend
Definition: BlendingState.h:27
bool EnableBlending
Definition: BlendingState.h:23
Plik zawiera deklarację i definicję klasy ResourceObject służącą do zliczania odwołań do obiektu...
Definition: BlendingState.h:72
BlendOperation AlphaOperation
Definition: BlendingState.h:25
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
BlendingInfo()
Definition: BlendingState.h:33
Klasy służące do zapewnienia ograniczonej możliwości kasowania niektórych obiektów silnika...
BlendOperation
Blending operation.
Definition: GraphicAPIConstants.h:14