Developer Documentation
|
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 Slots inherited from BaseInterface | |
virtual void | exit () |
virtual QString | version () |
Return a version string for your plugin. More... | |
Private Slots inherited from RenderInterface | |
virtual void | render (ACG::GLState *_glState, Viewer::ViewerProperties &_properties) |
rendering function More... | |
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 | |
Definition at line 61 of file ClassicDepthPeeling.hh.
|
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 ClassicDepthPeeling.hh.
|
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 ClassicDepthPeeling.hh.