50 #include <ACG/GL/IRenderer.hh>
51 #include <ACG/GL/FBO.hh>
52 #include <ACG/GL/globjects.hh>
53 #include <ACG/GL/AntiAliasing.hh>
65 #if QT_VERSION >= 0x050000
66 Q_PLUGIN_METADATA(IID
"org.OpenFlipper.Plugins.Plugin-Deferred-Shading")
73 QString
name() {
return (QString(
"Deferred Shading Renderer")); };
74 QString
description( ) {
return (QString(tr(
"Render scene with deferred shading for each light"))); };
77 QString version() {
return QString(
"1.0"); };
85 void initializePlugin();
90 QString rendererName() {
return QString(
"Deferred_Shading");}
95 QString checkOpenGL();
98 void slotMSAASelection( QAction * );
138 void resize(
int _newWidth,
int _newHeight,
int& _numSamples );
148 #ifdef GL_ARB_texture_buffer_object
153 std::vector<ACG::Vec3f> materialBufferData_;
GLSL::Program * progSpot_
spot lighting pass
QAction * optionsAction()
Return options menu.
GLSL::Program * progBackground_
background color pass
std::map< int, ViewerResources > viewerRes_
GLSL::Program * progEmissive_
emissive color pass
GLSL::Program * progDirectionalMS_
directional lighting pass with multisampling
GLSL::Program * progEmissiveMS_
emissive color pass with multisampling
Collection of fbos for each viewport.
Interface class from which all plugins have to be created.
QString renderObjectsInfo(bool _outputShaderInfo)
Return a qstring of the current render objects.
GLSL::Program * progPoint_
point lighting pass
QString name()
Return a name for the plugin.
GLSL::Program * progPointMS_
point lighting pass with multisampling
GLSL::Program * progSpotMS_
spot lighting pass with multisampling
DrawMode DEFAULT
use the default (global) draw mode and not the node's own.
GLSL::Program * progDirectional_
directional lighting pass
Interface to add additional rendering functions from within plugins.
QString description()
Return a description of what the plugin is doing.