DI-Guy SDK Documentation  13.2
diguyOglGraphicsFrameBuffer.h
Go to the documentation of this file.
1 #pragma once
2 
3 #if WIN32
4 #include <windows.h>
5 #endif
6 // needed for function prototypes
7 #include <GL/glew.h>
8 #include <GL/gl.h>
9 
11 
17 {
18 public:
19 
22 
23  virtual int resize(int width, int height);
24 
25  virtual void bind();
26  virtual void clear();
27  virtual void unbind();
28 
29  virtual GLuint get_texture_id() { return m_texture_id; }
30  virtual GLuint get_frame_buffer_id() { return m_frame_buffer_object_id; }
31  virtual GLuint get_depth_texture_id() { return m_depth_texture_id; };
32 
33  int get_width() { return m_width; }
34  int get_height() { return m_height; }
35 
36 private:
37 
38  int create_buffers();
39 
40  int check_status();
41 
42  int destroy_buffers();
43 
44  /*
45  * Common data members.
46  */
47 
49 
51  GLuint m_texture_id;
53 
54  /*
55  * Frame buffer object data members.
56  */
58 
61 
62  /*
63  * State to save and restore between bind() and unbind().
64  */
65  int m_original_vp[4];
66 };
67 
68 
76 
GLuint m_texture_id
Definition: diguyOglGraphicsFrameBuffer.h:51
int get_width()
Definition: diguyOglGraphicsFrameBuffer.h:33
GLuint m_depth_texture_id
Definition: diguyOglGraphicsFrameBuffer.h:52
virtual GLuint get_frame_buffer_id()
Definition: diguyOglGraphicsFrameBuffer.h:30
int get_height()
Definition: diguyOglGraphicsFrameBuffer.h:34
virtual void unbind()
Definition: diguyOglGraphicsFrameBuffer.cpp:132
int m_height
Definition: diguyGraphicsFrameBuffer.h:45
Definition: diguyGraphicsFrameBuffer.h:10
int destroy_buffers()
Definition: diguyOglGraphicsFrameBuffer.cpp:439
GLuint m_frame_buffer_object_id
Definition: diguyOglGraphicsFrameBuffer.h:59
Subclass to allow diguy to create frame buffers.
Definition: diguyOglGraphicsFrameBuffer.h:16
int check_status()
Definition: diguyOglGraphicsFrameBuffer.cpp:384
virtual int resize(int width, int height)
Definition: diguyOglGraphicsFrameBuffer.cpp:39
virtual ~diguyOglGraphicsFrameBuffer()
Definition: diguyOglGraphicsFrameBuffer.cpp:31
int m_width
Definition: diguyGraphicsFrameBuffer.h:44
virtual void bind()
Definition: diguyOglGraphicsFrameBuffer.cpp:60
virtual void clear()
Definition: diguyOglGraphicsFrameBuffer.cpp:125
virtual GLuint get_texture_id()
Definition: diguyOglGraphicsFrameBuffer.h:29
bool m_enable_mipmaps
Definition: diguyOglGraphicsFrameBuffer.h:48
diguyGraphicsFrameBuffer * diguyOglGraphicsFrameBuffer_create_func()
Create function declaration.
Definition: diguyOglGraphicsFrameBuffer.cpp:11
virtual GLuint get_depth_texture_id()
Definition: diguyOglGraphicsFrameBuffer.h:31
bool m_initialized
Definition: diguyOglGraphicsFrameBuffer.h:50
GLuint m_depth_render_buffer_id
Definition: diguyOglGraphicsFrameBuffer.h:60
bool m_fbo_valid
Definition: diguyOglGraphicsFrameBuffer.h:57
diguyOglGraphicsFrameBuffer()
Definition: diguyOglGraphicsFrameBuffer.cpp:16
int m_original_vp[4]
Definition: diguyOglGraphicsFrameBuffer.h:65
int create_buffers()
Definition: diguyOglGraphicsFrameBuffer.cpp:159