25 #ifndef WGEOFFSCREENRENDERNODE_H
26 #define WGEOFFSCREENRENDERNODE_H
32 #include "../WGEGroupNode.h"
33 #include "WGEOffscreenRenderPass.h"
34 #include "WGEOffscreenTexturePass.h"
35 #include "WGEOffscreenFinalPass.h"
36 #include "../WGETextureHud.h"
37 #include "../shaders/WGEShader.h"
38 #include "../callbacks/WGEViewportCallback.h"
60 typedef osg::ref_ptr< WGEOffscreenRenderNode >
RefPtr;
65 typedef osg::ref_ptr< const WGEOffscreenRenderNode >
ConstRefPtr;
81 WGEOffscreenRenderNode( osg::ref_ptr< osg::Camera > reference,
size_t width = 2048,
size_t height = 2048,
bool noHud =
false );
105 virtual osg::ref_ptr< WGEOffscreenRenderPass >
addGeometryRenderPass( osg::ref_ptr< osg::Node > node, std::string name =
"Unnamed" );
118 virtual osg::ref_ptr< WGEOffscreenRenderPass >
addGeometryRenderPass( osg::ref_ptr< osg::Node > node, osg::ref_ptr< WGEShader > shader,
119 std::string name =
"Unnamed" );
144 virtual osg::ref_ptr< WGEOffscreenTexturePass >
addTextureProcessingPass( osg::ref_ptr< WGEShader > shader, std::string name =
"Unnamed" );
154 virtual osg::ref_ptr< WGEOffscreenFinalPass >
addFinalOnScreenPass( std::string name =
"Unnamed" );
165 virtual osg::ref_ptr< WGEOffscreenFinalPass >
addFinalOnScreenPass( osg::ref_ptr< WGEShader > shader, std::string name =
"Unnamed" );
177 template <
typename T >
178 osg::ref_ptr< T >
addRenderPass( std::string name =
"Unnamed" );
191 osg::ref_ptr< WGETextureHud >
m_hud;
209 template <
typename T >
230 #endif // WGEOFFSCREENRENDERNODE_H