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
Public Member Functions | Private Attributes | List of all members
HighlightTargetEffect Class Reference

#include <HighlightTargetEffect.hpp>

Public Member Functions

 HighlightTargetEffect (Application *app)
 
 ~HighlightTargetEffect ()
 
void draw (double time, double timeDelta)
 
void resize (vec2 const &size)
 
void bindResultTexutre (GLuint target=0)
 

Private Attributes

Applicationm_app
 
array< GLuint, 1 > m_fboFull
 
array< GLuint, 1 > m_texFull
 
array< GLuint, 2 > m_fboHalf
 
array< GLuint, 2 > m_texHalf
 
Shaderm_shaderFocusId
 
Shaderm_shaderVBlur
 
Shaderm_shaderHBlur
 
Shaderm_shaderFSQuad
 
GLuint m_vao
 
GLuint m_positionBuffer
 
uvec2 m_size
 

Detailed Description

HighlightTargetEffect is an effect that can be used to highlight the currently focused object using edge-glow.

Definition at line 10 of file HighlightTargetEffect.hpp.

Constructor & Destructor Documentation

Constructs a HighlightTargetEffect.

Parameters
appThe global application

Definition at line 4 of file HighlightTargetEffect.cpp.

Destructs a HighlightTargetEffect.

Definition at line 112 of file HighlightTargetEffect.cpp.

Member Function Documentation

void bindResultTexutre ( GLuint  target = 0)

Binds the texture which contains the effects result to the given target.

Parameters
targetThe texture-target used for binding.

Definition at line 235 of file HighlightTargetEffect.cpp.

void draw ( double  time,
double  timeDelta 
)

Renders the highlightTargetEffect into local FBO(s).

Parameters
timeThe absolute frame time
timeDeltaTime since the last frame

Definition at line 171 of file HighlightTargetEffect.cpp.

void resize ( vec2 const &  size)

Resize the FBOs (on window-size-change)

Parameters
sizeNew window-size.

Definition at line 123 of file HighlightTargetEffect.cpp.

Member Data Documentation

Application* m_app
private

The global application

Definition at line 12 of file HighlightTargetEffect.hpp.

array<GLuint,1> m_fboFull
private

Screen-sized FBOs

Definition at line 14 of file HighlightTargetEffect.hpp.

array<GLuint,2> m_fboHalf
private

Half-screen-sized FBOs

Definition at line 17 of file HighlightTargetEffect.hpp.

GLuint m_positionBuffer
private

VBO for unit-quad

Definition at line 26 of file HighlightTargetEffect.hpp.

Shader* m_shaderFocusId
private

Shader used to highlight the edge around the focus-object

Definition at line 20 of file HighlightTargetEffect.hpp.

Shader* m_shaderFSQuad
private

Shader for pass-through full-screen-quad rendering

Definition at line 23 of file HighlightTargetEffect.hpp.

Shader* m_shaderHBlur
private

Shader for horizontal gauss-blurr

Definition at line 22 of file HighlightTargetEffect.hpp.

Shader* m_shaderVBlur
private

Shader for vertical gauss-blurr

Definition at line 21 of file HighlightTargetEffect.hpp.

uvec2 m_size
private

Size of the full-size FBO

Definition at line 28 of file HighlightTargetEffect.hpp.

array<GLuint,1> m_texFull
private

Screen-sized FBO-textures

Definition at line 15 of file HighlightTargetEffect.hpp.

array<GLuint,2> m_texHalf
private

Half-screen-sized FBOs-textures

Definition at line 18 of file HighlightTargetEffect.hpp.

GLuint m_vao
private

VAO used for unit-quad

Definition at line 25 of file HighlightTargetEffect.hpp.


The documentation for this class was generated from the following files: