1
//---------------------------------------------------------------------------
3
// Project: OpenWalnut ( http://www.openwalnut.org )
5
// Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
6
// For more information see http://www.openwalnut.org/copying
8
// This file is part of OpenWalnut.
10
// OpenWalnut is free software: you can redistribute it and/or modify
11
// it under the terms of the GNU Lesser General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
15
// OpenWalnut is distributed in the hope that it will be useful,
16
// but WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
// GNU Lesser General Public License for more details.
20
// You should have received a copy of the GNU Lesser General Public License
21
// along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
23
//---------------------------------------------------------------------------
27
#include "../WGETextureHud.h"
29
#include "WGEOffscreenFinalPass.h"
31
WGEOffscreenFinalPass::WGEOffscreenFinalPass( size_t textureWidth, size_t textureHeight, int num ):
32
WGEOffscreenTexturePass( textureWidth, textureHeight, num )
35
setRenderTargetImplementation( osg::Camera::FRAME_BUFFER );
36
setRenderOrder( osg::Camera::NESTED_RENDER, 0 );
38
// render before the hud
41
getOrCreateStateSet()->setRenderBinDetails( m_hud->getRenderBin() - 1, "RenderBin" );
45
getOrCreateStateSet()->setRenderBinDetails( 10000, "RenderBin" );
48
osg::StateSet* state = this->getOrCreateStateSet();
49
state->setMode( GL_DEPTH_TEST, osg::StateAttribute::ON );
51
// allow the user to use blending
52
getOrCreateStateSet()->setMode( GL_BLEND, osg::StateAttribute::ON );
55
WGEOffscreenFinalPass::WGEOffscreenFinalPass( size_t textureWidth, size_t textureHeight, osg::ref_ptr< WGETextureHud > hud, std::string name,
57
WGEOffscreenTexturePass( textureWidth, textureHeight, hud, name, num )
60
setRenderTargetImplementation( osg::Camera::FRAME_BUFFER );
61
setRenderOrder( osg::Camera::NESTED_RENDER, 0 );
63
// render before the hud
66
getOrCreateStateSet()->setRenderBinDetails( m_hud->getRenderBin() - 1, "RenderBin" );
70
getOrCreateStateSet()->setRenderBinDetails( 10000, "RenderBin" );
73
osg::StateSet* state = this->getOrCreateStateSet();
74
state->setMode( GL_DEPTH_TEST, osg::StateAttribute::ON );
76
// allow the user to use blending
77
getOrCreateStateSet()->setMode( GL_BLEND, osg::StateAttribute::ON );
80
WGEOffscreenFinalPass::~WGEOffscreenFinalPass()