OpenWalnut
1.5.0dev
src
core
graphicsEngine
postprocessing
WGEPostprocessorSSAO.h
1
//---------------------------------------------------------------------------
2
//
3
// Project: OpenWalnut ( http://www.openwalnut.org )
4
//
5
// Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
6
// For more information see http://www.openwalnut.org/copying
7
//
8
// This file is part of OpenWalnut.
9
//
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.
14
//
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.
19
//
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/>.
22
//
23
//---------------------------------------------------------------------------
24
25
#ifndef WGEPOSTPROCESSORSSAO_H
26
#define WGEPOSTPROCESSORSSAO_H
27
28
#include <memory>
29
30
31
#include "WGEPostprocessor.h"
32
33
/**
34
* Naive SSAO implementation.
35
*/
36
class
WGEPostprocessorSSAO
:
public
WGEPostprocessor
37
{
38
public
:
39
/**
40
* Convenience typedef for a std::shared_ptr< WGEPostprocessorSSAO >.
41
*/
42
typedef
std::shared_ptr< WGEPostprocessorSSAO >
SPtr
;
43
44
/**
45
* Convenience typedef for a std::shared_ptr< const WGEPostprocessorSSAO >.
46
*/
47
typedef
std::shared_ptr< const WGEPostprocessorSSAO >
ConstSPtr
;
48
49
/**
50
* Default constructor.
51
*/
52
WGEPostprocessorSSAO
();
53
54
/**
55
* Destructor.
56
*/
57
virtual
~WGEPostprocessorSSAO
();
58
59
/**
60
* Create instance. Uses the protected constructor. Implement it if you derive from this class!
61
*
62
* \param offscreen use this offscreen node to add your texture pass'
63
* \param gbuffer the input textures you should use
64
*
65
* \return created postprocessor instance
66
*/
67
virtual
WGEPostprocessor::SPtr
create
( osg::ref_ptr< WGEOffscreenRenderNode > offscreen,
const
PostprocessorInput
& gbuffer )
const
;
68
protected
:
69
/**
70
* Constructor. Implement this constructor and build your processing pipeline in here
71
*
72
* \param offscreen use this offscreen node to add your texture pass'
73
* \param gbuffer the input textures you should use
74
*/
75
WGEPostprocessorSSAO
( osg::ref_ptr< WGEOffscreenRenderNode > offscreen,
const
PostprocessorInput
& gbuffer );
76
private
:
77
};
78
79
#endif
// WGEPOSTPROCESSORSSAO_H
80
WGEPostprocessorSSAO
Naive SSAO implementation.
Definition:
WGEPostprocessorSSAO.h:37
WGEPostprocessorSSAO::ConstSPtr
std::shared_ptr< const WGEPostprocessorSSAO > ConstSPtr
Convenience typedef for a std::shared_ptr< const WGEPostprocessorSSAO >.
Definition:
WGEPostprocessorSSAO.h:47
WGEPostprocessorSSAO::SPtr
std::shared_ptr< WGEPostprocessorSSAO > SPtr
Convenience typedef for a std::shared_ptr< WGEPostprocessorSSAO >.
Definition:
WGEPostprocessorSSAO.h:42
WGEPostprocessorSSAO::create
virtual WGEPostprocessor::SPtr create(osg::ref_ptr< WGEOffscreenRenderNode > offscreen, const PostprocessorInput &gbuffer) const
Create instance.
Definition:
WGEPostprocessorSSAO.cpp:103
WGEPostprocessorSSAO::WGEPostprocessorSSAO
WGEPostprocessorSSAO()
Default constructor.
Definition:
WGEPostprocessorSSAO.cpp:33
WGEPostprocessorSSAO::~WGEPostprocessorSSAO
virtual ~WGEPostprocessorSSAO()
Destructor.
Definition:
WGEPostprocessorSSAO.cpp:98
WGEPostprocessor::PostprocessorInput
This class encapsulates a G-Buffer.
Definition:
WGEPostprocessor.h:55
WGEPostprocessor
The base class for all custom post-processors.
Definition:
WGEPostprocessor.h:49
WGEPostprocessor::SPtr
std::shared_ptr< WGEPostprocessor > SPtr
Convenience typedef for an osg::ref_ptr< WGEPostprocessor >.
Definition:
WGEPostprocessor.h:132
Generated by
1.9.1