cgv
gl_depth_peeler.h
1 #pragma once
2 
3 #include <cgv/render/texture.h>
4 
5 #include "lib_begin.h"
6 
7 namespace cgv {
8  namespace render {
9  namespace gl {
10 
11 
44 class CGV_API gl_depth_peeler
45 {
46 protected:
47  unsigned int query;
48  texture depth_texture;
49  float depth_bias;
50  bool front_to_back;
51  context* ctx_ptr;
52  bool _invert_t;
53 public:
55  mutable std::string last_error;
57  gl_depth_peeler(bool front_to_back = true, float _depth_bias = 0.001);
59  virtual ~gl_depth_peeler();
61  void invert_t(bool enable = true);
63  void set_back_to_front();
65  void set_front_to_back();
67  bool is_front_to_back() const;
69  virtual void destruct(context& ctx);
71  void set_depth_bias(float bias);
73  float get_depth_bias() const;
75  bool is_initialized() const;
77  virtual bool init(context& ctx);
79  virtual void init_frame(context& ctx);
81  void copy_depth_buffer(context& ctx);
83  void begin_layer(context& ctx, int tex_unit = -1);
85  unsigned int end_layer(context& ctx);
86 };
87 
88 
89  }
90  }
91 }
92 
93 #include <cgv/config/lib_end.h>
cgv::render::gl::gl_depth_peeler::last_error
std::string last_error
a string that contains the last error, which is only set by the init method
Definition: gl_depth_peeler.h:55
cgv::render::texture
Definition: texture.h:15
cgv::render::gl::gl_depth_peeler
Definition: gl_depth_peeler.h:45
cgv
the cgv namespace
Definition: vr_calib.cxx:9
cgv::render::context
Definition: context.h:525