Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
SSAOPlugin Class Reference
Inheritance diagram for SSAOPlugin:
BaseInterface RenderInterface LoggingInterface

Classes

struct  ViewerResources
 

Public Slots

QString version ()
 

Signals

void log (Logtype _type, QString _message)
 
void log (QString _message)
 
- Signals inherited from BaseInterface
virtual void updateView ()
 Update current view in Main Application. More...
 
virtual void setSlotDescription (QString _slotName, QString _slotDescription, QStringList _parameters, QStringList _descriptions)
 Set a description for a public slot. More...
 
virtual void setRenderer (unsigned int _viewer, QString _rendererName)
 Set a renderer for the given viewer. More...
 
- Signals inherited from LoggingInterface
virtual void log (Logtype _type, QString _message)=0
 
virtual void log (QString _message)=0
 

Public Member Functions

QString name ()
 Return a name for the plugin. More...
 
QString description ()
 Return a description of what the plugin is doing. More...
 

Private Types

enum  {
  PROG_INIT = 0, PROG_DOWNSAMPLING, PROG_BLUR, PROG_SSAO,
  PROG_FINAL, PROG_FINAL_MSAA
}
 

Private Slots

void initializePlugin ()
 
void exit ()
 
void render (ACG::GLState *_glState, Viewer::ViewerProperties &_properties)
 
QString rendererName ()
 
void supportedDrawModes (ACG::SceneGraph::DrawModes::DrawMode &_mode)
 
QString checkOpenGL ()
 

Private Member Functions

void destroyResources ()
 free all gl resources
 
void destroyResources (int _viewerId)
 free viewer specific gl resources
 
void reloadResources (int _viewerId, unsigned int _sceneTexWidth, unsigned int _sceneTexHeight)
 reload gl resources
 
void drawQuadProj (float _x0=-1.0f, float _y0=1.0f, float _w=2.0f, float _h=2.0f)
 draw a quad in projection space (only positions)
 
void traverseLightNodes (BaseNode *_node)
 find all light nodes in the scene
 
void generatePeelingShaders (GLSL::StringList *_strVertexShaderOut, GLSL::StringList *_strFragmentShaderOut, bool _textured)
 peel shader generator based on lights and texture mode
 
void drawScenePass (ACG::GLState *_glState, Viewer::ViewerProperties &_properties, BaseNode *_sceneGraphRoot)
 draw the current scene
 
void gaussianBlurPass (const ViewerResources *_pViewer, const float *_texelSize, GLenum _targetAttachement, GLuint _srcTexture)
 
void generateSamplingKernel ()
 computes a hemisphere sampling kernel in [0,1] range
 
- Private Member Functions inherited from BaseInterface
virtual void noguiSupported ()
 
virtual ~BaseInterface ()
 Destructor.
 
virtual void blockScenegraphUpdates (bool _block)
 Tell the core to prevent scenegraph updates. More...
 
virtual void updatedObject (int _objectId)
 An object has been changed or added by this plugin. More...
 
virtual void updatedObject (int _identifier, const UpdateType &_type)
 An object has been changed or added by this plugin. More...
 
virtual void nodeVisibilityChanged (int _identifier)
 A scenegraph node has been shown or hidden. More...
 
virtual void getCurrentRenderer (unsigned int _viewer, QString &_rendererName)
 Get the current renderer for the given viewer. More...
 
- Private Member Functions inherited from RenderInterface
virtual ~RenderInterface ()
 Destructor.
 
virtual QAction * optionsAction ()
 Return options menu. More...
 
virtual QString renderObjectsInfo (bool _outputShaderInfo)
 Return a qstring of the current render objects. More...
 
virtual void reloadShaders ()
 Reload any renderer specific shaders. More...
 
- Private Member Functions inherited from LoggingInterface
virtual ~LoggingInterface ()
 Destructor.
 

Private Attributes

std::map< int, ViewerResourcesviewerRes_
 
GLSL::Shadershaders_ [10]
 shader resources
 
GLSL::Programprograms_ [6]
 shader programs
 
GLuint randomVecTex_
 random vector table for sample offset rotation
 
ACG::Vec3f samplingKernel_ [128]
 ssao sampling kernel
 

Static Private Attributes

static const unsigned int numSamples_ = 32
 number of samples
 

Detailed Description

Definition at line 60 of file SSAO.hh.

Member Function Documentation

QString SSAOPlugin::description ( )
inlinevirtual

Return a description of what the plugin is doing.

This function has to return a basic description of the plugin

Implements BaseInterface.

Definition at line 84 of file SSAO.hh.

QString SSAOPlugin::name ( )
inlinevirtual

Return a name for the plugin.

This Function has to return the name of the plugin.

Implements BaseInterface.

Definition at line 83 of file SSAO.hh.


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