Number5
Visualisierung 2 Project - Florian Schober (0828151, f.schober@live.com), Andreas Walch (0926780, walch.andreas89@gmail.com)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SceneFBO.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "ISceneObject.hpp"
4 
8 struct DrawArgs
9 {
10  double time;
11  double timeDelta;
12  mat4 const * projectionMatrix;
13  mat4 const * viewMatrix;
24  DrawArgs(double _time, double _timeDelta, mat4 const * _projectionMatrix, mat4 const * _viewMatrix)
25  : time(_time)
26  , timeDelta(_timeDelta)
27  , projectionMatrix(_projectionMatrix)
28  , viewMatrix(_viewMatrix)
29  { }
30 };
31 
35 class SceneFBO
36 {
38  GLuint m_fbo;
39  GLuint m_rb;
40  GLuint m_texId;
41  GLuint m_texScene;
42  uvec2 m_size;
44  public:
51  SceneFBO(Application* app, uvec2 const & size);
55  ~SceneFBO();
56 
57  public:
63  void draw(double time, double timeDelta);
68  void resize(vec2 const & size);
73  void readAllIds(OUT id_t* target);
82  void readIds(OUT id_t* target, uvec2 const center, uint const distance);
87  void bindSceneTexture(GLuint target = 0);
92  void bindIdTexture(GLuint target = 0);
93 };
double time
Definition: SceneFBO.hpp:10
uint16 id_t
The data-type used for the id-buffer.
Definition: Util.hpp:6
GLuint m_fbo
Definition: SceneFBO.hpp:38
GLuint m_rb
Definition: SceneFBO.hpp:39
GLuint m_texScene
Definition: SceneFBO.hpp:41
mat4 const * viewMatrix
Definition: SceneFBO.hpp:13
void bindIdTexture(GLuint target=0)
Definition: SceneFBO.cpp:148
void bindSceneTexture(GLuint target=0)
Definition: SceneFBO.cpp:153
DrawArgs(double _time, double _timeDelta, mat4 const *_projectionMatrix, mat4 const *_viewMatrix)
Definition: SceneFBO.hpp:24
mat4 const * projectionMatrix
Definition: SceneFBO.hpp:12
void readAllIds(OUT id_t *target)
Definition: SceneFBO.cpp:140
~SceneFBO()
Definition: SceneFBO.cpp:48
void resize(vec2 const &size)
Definition: SceneFBO.cpp:73
double timeDelta
Definition: SceneFBO.hpp:11
GLuint m_texId
Definition: SceneFBO.hpp:40
SceneFBO(Application *app, uvec2 const &size)
Definition: SceneFBO.cpp:4
void readIds(OUT id_t *target, uvec2 const center, uint const distance)
Definition: SceneFBO.cpp:107
Application * m_app
Definition: SceneFBO.hpp:37
uvec2 m_size
Definition: SceneFBO.hpp:42
void draw(double time, double timeDelta)
Definition: SceneFBO.cpp:56