MeVisLab Resolution Independence API
SoMultiPassFramebufferSampler Class Reference

Open Inventor node to accumulate multiple render passes in a sampler. More...

#include <SoMultiPassFramebufferSampler.h>

Inheritance diagram for SoMultiPassFramebufferSampler:
SoFramebufferSampler2D SoFramebufferSampler SoSampler SoUniformShaderParameter SoShaderParameter

Public Member Functions

 SoMultiPassFramebufferSampler ()
 Constructor.
unsigned int curPass ()
 Current render pass, starting with '0'. Only valid if read by child nodes!
SoGLTexture * getCopyColorBuffer () const
Public Member Functions inherited from SoFramebufferSampler2D
 SoFramebufferSampler2D ()
 Constructor.
void updatePreparation (SoState *state) override
 Render children to framebuffer object.
void renderDebug (SoState *state)
void updateParameter (SoUniformParameterBase *, SoState *) override
 Update sampler uniform to inform shader about fbo texture.
Public Member Functions inherited from SoFramebufferSampler
 SoFramebufferSampler ()
 Constructor.
void GLRender (SoGLRenderAction *action) override
 Add node to parameter list element, and call 'updatePreparation'.
void getBoundingBox (SoGetBoundingBoxAction *action) override
 Compute bounding-box of subgraph.
void handleEvent (SoHandleEventAction *action) override
void renderInSeparateRenderAction ()
void updatePreparationInternal (SoGLRenderAction *action)
 Helper method to call updatePreparation.
Public Member Functions inherited from SoSampler
void updateParameter (SoUniformParameterBase *uniformBase, SoState *state) override
 Assigns or updates the parameter's value.
Public Member Functions inherited from SoUniformShaderParameter
void GLRender (SoGLRenderAction *action) override
 Add this node to element in state.
Public Member Functions inherited from SoShaderParameter
void callback (SoCallbackAction *) override
 Shut down handling of these actions for children.
void GLRender (SoGLRenderAction *) override
void getBoundingBox (SoGetBoundingBoxAction *) override
void getMatrix (SoGetMatrixAction *) override
void handleEvent (SoHandleEventAction *) override
void pick (SoPickAction *) override

Static Public Member Functions

static void initClass ()
 Initialize class with runtime type system.
Static Public Member Functions inherited from SoFramebufferSampler2D
static void initClass ()
 Initialize class with runtime type system.
Static Public Member Functions inherited from SoFramebufferSampler
static void resetFixedFunctionGLState ()
 Resets the current GL state as far as possible (but leaves FBO intact, to allow push/pop later).
static void initClass ()
 Initialize class with runtime type system.
Static Public Member Functions inherited from SoSampler
static void initClass ()
 Initialize class with runtime type system.
Static Public Member Functions inherited from SoUniformShaderParameter
static void initClass ()
 Initialize class with runtime type system.
Static Public Member Functions inherited from SoShaderParameter
static void initClass ()
 Initialize class with runtime type system.

Public Attributes

SoSFUInt32 numPasses
 Number of times to traverse the subgraph below.
SoSFFloat epsilon
 Smallest value that keeps the node still iterating.
SoSFFloat value
 Value to compare against 'epsilon'.
SoSFUInt32 id
 Id that is used to identify this node if nested.
SoSFBool initSamplerCopy
 Initialize the copy FBO texture with all zero.
Public Attributes inherited from SoFramebufferSampler2D
SoSFVec2s size
 Texture size. Default is 64 x 64.
SoSFEnum multiSamplingMode
SoSFInt32 multiSampling
Public Attributes inherited from SoFramebufferSampler
SoSFEnum colorBufferFormat
 Internal format of color buffer. Default is RGBA.
SoSFEnum depthBufferTarget
 Enable/Disable depth buffer. Default is TRUE.
SoSFBool stencilBuffer
 Enable/Disable stencil buffer. Default is FALSE.
SoSFColor clearColor
 Color used to clear the color buffer.
SoSFFloat clearAlpha
 Alpha value used to clear the color buffer.
SoSFEnum wrapT
 Wrapping mode.
SoSFBool useSizeStateHints
 Read state for size hints.
SoSFBool useFormatStateHints
 Read state for format hints.
SoSFFloat sizeMultiplier
 Size provided by size state hints is multiplied with this value.
SoSFFloat pixelScale
SoSFBool automaticTraversal
 Automatically traverse child scene.
SoSFTrigger takeSnapshot
 Take a snapshot of the scene.
SoSFBool useSeparateRenderAction
Public Attributes inherited from SoSampler
SoSFEnum wrapS
 Wrapping mode. Default is REPEAT.
SoSFBool enableBorder
 Enable border to be part of the texture. Default is FALSE.
SoSFVec4f borderColor
 Border color used to for border texture filtering. Only used if 'enableBorder' is FALSE. Default is (0, 0, 0, 0).
SoSFEnum minFilter
 Minification filter mode. Default is LINEAR.
SoSFEnum magFilter
 Magnification filter mode. Default is LINEAR.
SoSFBool use16BitFloat
 Use 16 Bit floating point for the texture format.
SoSFBool needsTextureCoordinates
 Enable this if the sampler needs the standard inventor texture coordinates.
Public Attributes inherited from SoUniformShaderParameter
std::set< SbString > auxUniformParameters
 Auxiliary uniform shader parameters which are maintained by this node.
Public Attributes inherited from SoShaderParameter
SoSFString name
 Name given to parameter in high level languages.

Protected Member Functions

 ~SoMultiPassFramebufferSampler () override
 Destructor.
void applyRenderAction (SoState *) override
 Function applies render action to children multiple times.
Protected Member Functions inherited from SoFramebufferSampler2D
 ~SoFramebufferSampler2D () override
 Destructor.
Protected Member Functions inherited from SoFramebufferSampler
 ~SoFramebufferSampler () override
 Destructor.
void nameChanged (SoField *field) override
 Called when sampler name has changed.
Protected Member Functions inherited from SoSampler
 ~SoSampler () override
 SoSampler ()
 Constructor.
GLint getInternalFormat (GLenum glDataType)
 Return specialized texture format for GL data type.
const char * getTextureFormatName (GLenum internalFormat)
 Return texture format name.
SbSamplerInfo::TextureType getTextureTypeFromGLFormat (GLenum internalFormat)
void postTextureFormatInfo (GLenum target, GLint format)
 Prints channel depths for given target and format.
void postTextureSizeInfo (GLenum target)
 Prints the size of the bound texture.
virtual void texConfigChanged (SoField *)
 Called when texture configuration (e.g. filter mode) has changed.
Protected Member Functions inherited from SoUniformShaderParameter
 SoUniformShaderParameter ()
 Constructor.
Protected Member Functions inherited from SoShaderParameter
 SoShaderParameter ()
 Constructor.

Protected Attributes

unsigned int _curPass
SbVec2s _prevSize
uint32_t _prevFormat
Protected Attributes inherited from SoFramebufferSampler2D
SbVec2s _fldValSize
SbVec2s _size
SoGLFramebufferObject * _msaaFBO
SoGLRenderbuffer * _msaaDepthBuffer
SoGLRenderbuffer * _msaaColorBuffer
MultiSamplingMode _msaaMode
int _msaaSamples
Protected Attributes inherited from SoFramebufferSampler
SbBool _fldValUseSizeHints
SbBool _fldValUseFormatHints
ColorBufferFormat _fldValColorBufferFormat
DepthBufferTarget _fldValDepthBufferTarget
SbBool _fldValStencilBuffer
SbBool _rebuild
SbBool _takeSnapshot
int32_t _dataFormat
SbString _depthTextureName
 name of the uniform ?_depth parameter
SoGLFramebufferObject * _framebufferObject
SoGLTexture * _colorBuffer
SoGLRenderbuffer * _depthBufferRBU
SoGLTexture * _depthBufferTEX
SoGLRenderbuffer * _stencilBuffer
SoResolutionIndependentViewerProxy_proxy
SoFramebufferSamplerOffscreenSceneRenderer * _offscreenSceneRenderer
Protected Attributes inherited from SoSampler
SbBool _hasTextureFloat
 TRUE if GL_xxx_texture_float extension is present.
SbString _sizeUniformName
 name of the uniform ?_size parameter
unsigned int _textureComponents
GLenum _textureDataType

Additional Inherited Members

Public Types inherited from SoFramebufferSampler2D
enum  MultiSamplingMode { MULTISAMPLING_OFF , MULTISAMPLING_ON , MULTISAMPLING_TEXTURE }
Public Types inherited from SoFramebufferSampler
enum  ColorBufferFormat {
  RGB = GL_RGB , RGB8 = GL_RGB8 , RGB16 = GL_RGB16 , RGB16F = GL_RGB16F_ARB ,
  RGB32F = GL_RGB32F_ARB , RGBA = GL_RGBA , RGBA8 = GL_RGBA8 , RGBA16 = GL_RGBA16 ,
  RGBA16F = GL_RGBA16F_ARB , RGBA32F = GL_RGBA32F_ARB
}
 Internal texture format for color buffer. More...
enum  DepthBufferTarget { NONE = 0 , RENDERBUFFER = 1 , TEXTURE = 2 }
 Depth buffer mode. More...
Public Types inherited from SoSampler
enum  TexGenMode { NORMAL_MAP = GL_NORMAL_MAP_EXT , REFLECTION_MAP = GL_REFLECTION_MAP_EXT }
 Texture gen mode. More...
enum  Wrap {
  REPEAT = GL_REPEAT , CLAMP = GL_CLAMP , CLAMP_TO_EDGE = GL_CLAMP_TO_EDGE , CLAMP_TO_BORDER = GL_CLAMP_TO_BORDER ,
  MIRRORED_REPEAT = GL_MIRRORED_REPEAT
}
 Texture wrap type. More...
enum  Filter {
  NEAREST = GL_NEAREST , LINEAR = GL_LINEAR , NEAREST_MIPMAP_NEAREST = GL_NEAREST_MIPMAP_NEAREST , NEAREST_MIPMAP_LINEAR = GL_NEAREST_MIPMAP_LINEAR ,
  LINEAR_MIPMAP_NEAREST = GL_LINEAR_MIPMAP_NEAREST , LINEAR_MIPMAP_LINEAR = GL_LINEAR_MIPMAP_LINEAR
}
 Filter methods for minification and magnification. More...

Detailed Description

Open Inventor node to accumulate multiple render passes in a sampler.

Definition at line 30 of file SoMultiPassFramebufferSampler.h.

Constructor & Destructor Documentation

◆ SoMultiPassFramebufferSampler()

SoMultiPassFramebufferSampler::SoMultiPassFramebufferSampler ( )

Constructor.

◆ ~SoMultiPassFramebufferSampler()

SoMultiPassFramebufferSampler::~SoMultiPassFramebufferSampler ( )
overrideprotected

Destructor.

Member Function Documentation

◆ applyRenderAction()

void SoMultiPassFramebufferSampler::applyRenderAction ( SoState * )
overrideprotectedvirtual

Function applies render action to children multiple times.

Reimplemented from SoFramebufferSampler.

◆ curPass()

unsigned int SoMultiPassFramebufferSampler::curPass ( )
inline

Current render pass, starting with '0'. Only valid if read by child nodes!

Definition at line 62 of file SoMultiPassFramebufferSampler.h.

References _curPass.

◆ getCopyColorBuffer()

SoGLTexture * SoMultiPassFramebufferSampler::getCopyColorBuffer ( ) const
inline

Definition at line 68 of file SoMultiPassFramebufferSampler.h.

◆ initClass()

void SoMultiPassFramebufferSampler::initClass ( )
static

Initialize class with runtime type system.

Member Data Documentation

◆ _curPass

unsigned int SoMultiPassFramebufferSampler::_curPass
protected

Definition at line 74 of file SoMultiPassFramebufferSampler.h.

Referenced by curPass().

◆ _prevFormat

uint32_t SoMultiPassFramebufferSampler::_prevFormat
protected

Definition at line 76 of file SoMultiPassFramebufferSampler.h.

◆ _prevSize

SbVec2s SoMultiPassFramebufferSampler::_prevSize
protected

Definition at line 75 of file SoMultiPassFramebufferSampler.h.

◆ epsilon

SoSFFloat SoMultiPassFramebufferSampler::epsilon

Smallest value that keeps the node still iterating.

Definition at line 42 of file SoMultiPassFramebufferSampler.h.

◆ id

SoSFUInt32 SoMultiPassFramebufferSampler::id

Id that is used to identify this node if nested.

Definition at line 48 of file SoMultiPassFramebufferSampler.h.

◆ initSamplerCopy

SoSFBool SoMultiPassFramebufferSampler::initSamplerCopy

Initialize the copy FBO texture with all zero.

Definition at line 51 of file SoMultiPassFramebufferSampler.h.

◆ numPasses

SoSFUInt32 SoMultiPassFramebufferSampler::numPasses

Number of times to traverse the subgraph below.

Definition at line 39 of file SoMultiPassFramebufferSampler.h.

◆ value

SoSFFloat SoMultiPassFramebufferSampler::value

Value to compare against 'epsilon'.

Definition at line 45 of file SoMultiPassFramebufferSampler.h.


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