Volume Renderer DoF
VolumeRenderer.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <glew.h>
4 #include <vector>
5 #include <QtGui\qopenglshaderprogram.h>
6 
7 #include "GLCamera.h"
8 #include "GLShader.h"
9 #include "FBO.h"
10 #include "GUI\Volume.h"
11 #include "SHADER\DoFShader.h"
12 #include "SHADER\QuadShader.h"
13 #include "SHADER/Tex3DShader.h"
14 #include "RENDER/ProxyGeometry.h"
15 
17 
18  public:
19  VolumeRenderer(Volume* volume);
21 
26  void prepareNewVolume(Volume* v);
27 
32  void render(GLCamera& camera);
33 
34  // TEST 2.0
38  void refreshShader();
42  void setFocusPlane(const int& value);
43 
47  void setBlurFactor(const int& value);
48 
50  void render(int w, int h, GLCamera& camera);
51 
52  private:
56  void loadUp3DTexture();
57 
61  void loadUpQuadVAO();
62 
68  void loadUpVAO(std::vector<QVector3D>& vertices, std::vector<QVector3D>& texCoord);
69 
73  void initFramebuffers();
74 
79  void clearFBO(const int& fbo);
80 
82  Volume* volume = nullptr;
84  DoFShader* dof = nullptr;
86  QuadShader* quad = nullptr;
88  Tex3DShader* tex3D = nullptr;
89 
93  ProxyGeometry* proxyGeometry = nullptr;
94 
98  std::vector<FBO*> fbos;
99 
101  int lastB2F = -1;
103  int lastF2B = -1;
105  int numSamples;
106 
108  GLuint texID;
109 
111  GLuint vao;
113  GLuint vboVertices;
115  GLuint vboTextureCoord;
116 
118  GLuint vaoQuad;
120  GLuint vboQuadVertices;
122  GLuint vboQuadTextureCoord;
123 
124 };
void prepareNewVolume(Volume *v)
Definition: VolumeRenderer.cpp:226
Definition: Volume.h:63
Definition: Tex3DShader.h:9
Definition: GLCamera.h:9
Definition: VolumeRenderer.h:16
Definition: DoFShader.h:12
void refreshShader()
Definition: VolumeRenderer.cpp:239
Definition: QuadShader.h:10
Definition: ProxyGeometry.h:154
void render(GLCamera &camera)
Definition: VolumeRenderer.cpp:136
~VolumeRenderer()
Definition: VolumeRenderer.cpp:36
void setBlurFactor(const int &value)
Definition: VolumeRenderer.cpp:257
VolumeRenderer(Volume *volume)
Definition: VolumeRenderer.cpp:5
void setFocusPlane(const int &value)
Definition: VolumeRenderer.cpp:244