OpenWalnut  1.5.0dev
Public Types | Public Member Functions | Protected Member Functions | List of all members
WGEPostprocessorLineAO Class Reference

LineAO implementation. More...

#include <WGEPostprocessorLineAO.h>

+ Inheritance diagram for WGEPostprocessorLineAO:
+ Collaboration diagram for WGEPostprocessorLineAO:

Public Types

typedef std::shared_ptr< WGEPostprocessorLineAOSPtr
 Convenience typedef for a std::shared_ptr< WGEPostprocessorLineAO >. More...
 
typedef std::shared_ptr< const WGEPostprocessorLineAOConstSPtr
 Convenience typedef for a std::shared_ptr< const WGEPostprocessorLineAO >. More...
 
- Public Types inherited from WGEPostprocessor
typedef std::shared_ptr< WGEPostprocessorSPtr
 Convenience typedef for an osg::ref_ptr< WGEPostprocessor >. More...
 
typedef std::shared_ptr< const WGEPostprocessorConstSPtr
 Convenience typedef for an osg::ref_ptr< const WGEPostprocessor >. More...
 
typedef std::vector< WGEPostprocessor::SPtrProcessorList
 Type used for returning lists of postprocessor prototypes. More...
 

Public Member Functions

 WGEPostprocessorLineAO ()
 Default constructor. More...
 
virtual ~WGEPostprocessorLineAO ()
 Destructor. More...
 
virtual WGEPostprocessor::SPtr create (osg::ref_ptr< WGEOffscreenRenderNode > offscreen, const PostprocessorInput &gbuffer) const
 Create instance. More...
 
- Public Member Functions inherited from WGEPostprocessor
 WGEPostprocessor (std::string name, std::string description)
 Create named prototype. More...
 
virtual ~WGEPostprocessor ()
 Destructor. More...
 
virtual WPropGroup getProperties () const
 Returns the set of properties controlling the post-processing node. More...
 
virtual osg::ref_ptr< osg::Texture2D > getOutput (size_t idx=0) const
 Returns the result texture. More...
 
const std::vector< osg::ref_ptr< osg::Texture2D > > & getOutputList () const
 This processor can produce multiple outputs. More...
 
virtual osg::ref_ptr< osg::Texture2D > getDepth () const
 Returns the new depth texture. More...
 
virtual const std::string getName () const
 Gets the name of this postprocessor. More...
 
virtual const std::string getDescription () const
 Gets the description for this postprocessor. More...
 
virtual bool getFixedViewportSize () const
 When this returns true, the viewport size is fixed to the size of the target texture. More...
 
- Public Member Functions inherited from WPrototyped
 WPrototyped ()
 Default constructor. More...
 
virtual ~WPrototyped ()
 Destructor. More...
 
template<typename T >
bool isA ()
 Checks whether the actual prototype has the specified runtime type. More...
 

Protected Member Functions

 WGEPostprocessorLineAO (osg::ref_ptr< WGEOffscreenRenderNode > offscreen, const PostprocessorInput &gbuffer)
 Constructor. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from WGEPostprocessor
static ProcessorList getPostprocessors ()
 Returns a list of all known postprocessor prototypes. More...
 
static void initPostprocessors ()
 Needs to be called prior to any "getPostprocessors" call. More...
 
static size_t addPostprocessor (SPtr processor)
 Allows adding a postprocessor. More...
 
- Protected Attributes inherited from WGEPostprocessor
std::vector< osg::ref_ptr< osg::Texture2D > > m_resultTextures
 The textures contain the result. More...
 
osg::ref_ptr< osg::Texture2D > m_depthTexture
 The texture contains the new depth. More...
 
WPropGroup m_properties
 All the properties of the post-processor. More...
 
WPropBool m_effectOnly
 A flag denoting whether the effect should be combined with color or not. More...
 
WPropDouble m_effectScale
 Scale the effect prior to blending it. More...
 
WGEShaderPreprocessor::SPtr m_effectOnlyPreprocessor
 For convenience, this is a shader preprocessor controlled by m_effectOnly property. More...
 

Detailed Description

LineAO implementation.

This is an implementation of the paper http://doi.ieeecomputersociety.org/10.1109/TVCG.2012.142.

Definition at line 36 of file WGEPostprocessorLineAO.h.

Member Typedef Documentation

◆ ConstSPtr

Convenience typedef for a std::shared_ptr< const WGEPostprocessorLineAO >.

Definition at line 47 of file WGEPostprocessorLineAO.h.

◆ SPtr

Convenience typedef for a std::shared_ptr< WGEPostprocessorLineAO >.

Definition at line 42 of file WGEPostprocessorLineAO.h.

Constructor & Destructor Documentation

◆ WGEPostprocessorLineAO() [1/2]

WGEPostprocessorLineAO::WGEPostprocessorLineAO ( )

Default constructor.

Definition at line 34 of file WGEPostprocessorLineAO.cpp.

Referenced by create().

+ Here is the caller graph for this function:

◆ ~WGEPostprocessorLineAO()

WGEPostprocessorLineAO::~WGEPostprocessorLineAO ( )
virtual

Destructor.

Definition at line 136 of file WGEPostprocessorLineAO.cpp.

◆ WGEPostprocessorLineAO() [2/2]

WGEPostprocessorLineAO::WGEPostprocessorLineAO ( osg::ref_ptr< WGEOffscreenRenderNode offscreen,
const PostprocessorInput gbuffer 
)
protected

Constructor.

Implement this constructor and build your processing pipeline in here

Parameters
offscreenuse this offscreen node to add your texture pass'
gbufferthe input textures you should use

Definition at line 40 of file WGEPostprocessorLineAO.cpp.

References WGEPostprocessor::PostprocessorInput::bind(), wge::genWhiteNoiseTexture(), WGEPostprocessor::PostprocessorInput::m_depthTexture, WGEPostprocessor::m_effectOnlyPreprocessor, WGEPostprocessor::m_effectScale, WGEPostprocessor::PostprocessorInput::m_normalTexture, WGEPostprocessor::m_properties, WGEPostprocessor::m_resultTextures, and WGEPostprocessor::PostprocessorInput::m_tangentTexture.

+ Here is the call graph for this function:

Member Function Documentation

◆ create()

WGEPostprocessor::SPtr WGEPostprocessorLineAO::create ( osg::ref_ptr< WGEOffscreenRenderNode offscreen,
const PostprocessorInput gbuffer 
) const
virtual

Create instance.

Uses the protected constructor. Implement it if you derive from this class!

Parameters
offscreenuse this offscreen node to add your texture pass'
gbufferthe input textures you should use
Returns
created postprocessor instance

Implements WGEPostprocessor.

Definition at line 141 of file WGEPostprocessorLineAO.cpp.

References WGEPostprocessorLineAO().

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: