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


struct  ViewerResources

Public Slots

QString version ()


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  {

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 ()
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 ()
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 ()

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 ( )

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 ( )

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: