Developer Documentation

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Classes | Public Slots | Signals | Public Member Functions | Private Types | Private Slots | Private Member Functions | Private Attributes | List of all members
DepthPeelingPlugin Class Reference
Inheritance diagram for DepthPeelingPlugin:

## 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 | { PEEL_SHADER_WIREFRAME = 0, PEEL_SHADER_HIDDENLINE = 1, PEEL_SHADER_TEXTURED = 0x1, PEEL_SHADER_PHONG = 0x2, PEEL_SHADER_GOURAUD = 0x4, PEEL_SHADER_FLAT = 0x8, PEEL_SHADER_VERTEXCOLORS = 0x10, PEEL_NUM_COMBINATIONS = 0x20, PEEL_SHADER_NUM_FLAGS = 5 }
enum | LightType { LIGHTTYPE_DIRECTIONAL = 0, LIGHTTYPE_POINT, LIGHTTYPE_SPOT }
| light type enumeration

## 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)
| 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, GLSL::StringList *_strGeometryShaderOut, bool _textured, bool _flatShaded, bool _phong, bool _vertexColor, bool _wireFrame)
| peel shader generator based on lights and texture mode
void | updatePeelingShaderSet ()
| regenerates peeling shaders based on light nodes in scenegraph
void | drawScenePass (ACG::GLState *_glState, ACG::SceneGraph::DrawModes::DrawMode _drawMode, BaseNode *_sceneGraphRoot)
| draw the current scene
void | drawScenePeelPass (ACG::GLState *_glState, ACG::SceneGraph::DrawModes::DrawMode _drawMode, BaseNode *_sceneGraphRoot, int _peelPass)
template<class Action >
void | traverseDraw (BaseNode *_node, Action &_action, ACG::SceneGraph::DrawModes::DrawMode _globalDrawMode, int _pass, int _peelPass)
template<class Action >
bool | traverseDrawApplyAction (BaseNode *_node, Action &_action, ACG::SceneGraph::DrawModes::DrawMode _globalDrawMode, int _pass, int _peelPass)
unsigned int | getPeelShaderIndex (ACG::SceneGraph::DrawModes::DrawMode _drawMode)
| converts a drawmode to the correct shading program index
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, ViewerResources > | viewerRes_
GLSL::Shader * | blendShaders_ [8]
| shader resources
GLSL::Program * | blendDualPeelProg_ [4]
| depth peeling programs
GLSL::Shader * | peelShaders_ [PEEL_NUM_COMBINATIONS *3]
| generated shader set
GLSL::Program * | peelProgs_ [PEEL_NUM_COMBINATIONS]
| generates shader programs
GLuint | blendQueryID_
| fragment query
ACG::GLState * | glStateTmp_
| current glState ptr for hiddenline rendering
GLuint | numLights_
| number of used lights in the scene
LightType | lightTypes_ [16]
| registered lights in the scene
GLuint | glLightIDs_ [16]
| matching GL light id

## Detailed Description

Definition at line 61 of file ClassicDepthPeeling.hh.

## Member Function Documentation

QString DepthPeelingPlugin::description | ( |  | ) |
| inline virtual

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 ClassicDepthPeeling.hh.

QString DepthPeelingPlugin::name | ( |  | ) |
| inline virtual

Return a name for the plugin.

This Function has to return the name of the plugin.

Implements BaseInterface.

Definition at line 83 of file ClassicDepthPeeling.hh.

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

- PluginCollection-Renderers/Plugin-Render-Old-DepthPeeling/ClassicDepthPeeling.hh
- PluginCollection-Renderers/Plugin-Render-Old-DepthPeeling/ClassicDepthPeeling.cc
- PluginCollection-Renderers/Plugin-Render-Old-DepthPeeling/ClassicDepthPeeling_glew.cc