All Classes Files Functions Variables Typedefs Pages
PerFragmentProcessing.hpp
1 #pragma once
2 
3 #include "Program.fpp"
4 #include "../util/NotCloneable.hpp"
5 
6 namespace lumina {
7 
8 enum class DepthFunction {
9  Never, Less, Equal, Lequal, Greater, NotEqual, Gequal, Always
10 };
11 
13 public:
15 
16  void enableDepthTest(bool enable = true);
17  void enableDepthWrite(bool enable = true);
18  void setDepthFunction(DepthFunction func);
19 
20 
21 private:
22  bool m_depthEnabled;
23  bool m_depthWrite;
24  DepthFunction m_depthFunc;
25 
26 
27  void bindStage();
28  void unbindStage();
29 
30  friend Program;
31 };
32 
33 }
34 
35 #include "PerFragmentProcessing.tpp"
Definition: NotCloneable.hpp:5
Definition: PerFragmentProcessing.hpp:12
Represents the configuration of an OpenGL pipeline.
Definition: Program.hpp:27