25 #ifndef WGEOFFSCREENRENDERNODE_H
26 #define WGEOFFSCREENRENDERNODE_H
32 #include "core/common/WLogger.h"
34 #include "../WGEGroupNode.h"
35 #include "WGEOffscreenRenderPass.h"
36 #include "WGEOffscreenTexturePass.h"
37 #include "WGEOffscreenFinalPass.h"
38 #include "../WGETextureHud.h"
39 #include "../shaders/WGEShader.h"
40 #include "../callbacks/WGEViewportCallback.h"
61 typedef osg::ref_ptr< WGEOffscreenRenderNode >
RefPtr;
66 typedef osg::ref_ptr< const WGEOffscreenRenderNode >
ConstRefPtr;
82 WGEOffscreenRenderNode( osg::ref_ptr< WGECamera > reference,
size_t width = 2048,
size_t height = 2048,
bool noHud =
false );
106 virtual osg::ref_ptr< WGEOffscreenRenderPass >
addGeometryRenderPass( osg::ref_ptr< osg::Node > node, std::string name =
"Unnamed" );
119 virtual osg::ref_ptr< WGEOffscreenRenderPass >
addGeometryRenderPass( osg::ref_ptr< osg::Node > node, osg::ref_ptr< WGEShader > shader,
120 std::string name =
"Unnamed" );
145 virtual osg::ref_ptr< WGEOffscreenTexturePass >
addTextureProcessingPass( osg::ref_ptr< WGEShader > shader, std::string name =
"Unnamed" );
155 virtual osg::ref_ptr< WGEOffscreenFinalPass >
addFinalOnScreenPass( std::string name =
"Unnamed" );
166 virtual osg::ref_ptr< WGEOffscreenFinalPass >
addFinalOnScreenPass( osg::ref_ptr< WGEShader > shader, std::string name =
"Unnamed" );
178 template <
typename T >
179 osg::ref_ptr< T >
addRenderPass( std::string name =
"Unnamed" );
222 osg::ref_ptr< WGETextureHud >
m_hud;
245 template <
typename T >
269 pass->setComputeNearFarMode( osg::CullSettings::DO_NOT_COMPUTE_NEAR_FAR );
270 pass->setNearFarRatio( 0.000001 );
271 pass->setCullingMode( osg::CullSettings::NO_CULLING );
280 #endif // WGEOFFSCREENRENDERNODE_H