Ocular Engine
RenderState.hpp
1 
17 #pragma once
18 #ifndef __H__OCULAR_GRAPHICS_RENDER_STATE__H__
19 #define __H__OCULAR_GRAPHICS_RENDER_STATE__H__
20 
21 #include "BlendState.hpp"
22 #include "RasterState.hpp"
23 #include "DepthStencilState.hpp"
24 
25 //------------------------------------------------------------------------------------------
26 
31 namespace Ocular
32 {
37  namespace Graphics
38  {
43  {
44  public:
45 
46  RenderState();
47  virtual ~RenderState();
48 
52  virtual void bind();
53 
60  virtual void setRasterState(RasterState const& state);
61 
65  RasterState getRasterState() const;
66 
73  virtual void setBlendState(BlendState const& state);
74 
78  BlendState getBlendState() const;
79 
86  virtual void setDepthStencilState(DepthStencilState const& state);
87 
91  DepthStencilState getDepthStencilState() const;
92 
93  protected:
94 
95  RasterState m_RasterState;
96  BlendState m_BlendState;
97  DepthStencilState m_DepthStencilState;
98 
99  bool m_IsRasterStateDirty;
100  bool m_IsBlendStateDirty;
101  bool m_IsDepthStencilStateDirty;
102 
103  private:
104  };
105  }
109 }
114 //------------------------------------------------------------------------------------------
115 
116 #endif
virtual void setDepthStencilState(DepthStencilState const &state)
Definition: RenderState.cpp:88
Note: Once this library is made dynamic, this will no longer be needed.
Definition: Common.hpp:70
Definition: RenderState.hpp:42
virtual void bind()
Definition: RenderState.cpp:61
Definition: DepthStencilState.hpp:113
Definition: BlendState.hpp:89
Definition: RasterState.hpp:92
virtual void setBlendState(BlendState const &state)
Definition: RenderState.cpp:77
virtual void setRasterState(RasterState const &state)
Definition: RenderState.cpp:66