13#ifndef SO_FRAMEBUFFER_SAMPLER_H
14#define SO_FRAMEBUFFER_SAMPLER_H
21#include <Inventor/fields/SoSFNode.h>
22#include <Inventor/fields/SoSFColor.h>
23#include <Inventor/fields/SoSFFloat.h>
24#include <Inventor/fields/SoSFEnum.h>
25#include <Inventor/fields/SoSFBool.h>
26#include <Inventor/fields/SoSFTrigger.h>
28class SoGLFramebufferObject;
30class SoGLRenderbuffer;
32class SoFramebufferSamplerOffscreenSceneRenderer;
48 RGB16F = GL_RGB16F_ARB,
49 RGB32F = GL_RGB32F_ARB,
53 RGBA16F = GL_RGBA16F_ARB,
54 RGBA32F = GL_RGBA32F_ARB
169 void snapshotChangedCB(SoField* field);
#define INVENTOR_SHADER_API
Define class export specifier.
Abstract Open Inventor base class for sampler nodes based on a framebuffer object.
SoSFEnum colorBufferFormat
Internal format of color buffer. Default is RGBA.
SoGLFramebufferObject * _framebufferObject
void updatePreparationInternal(SoGLRenderAction *action)
Helper method to call updatePreparation.
SoGLTexture * _depthBufferTEX
static void initClass()
Initialize class with runtime type system.
~SoFramebufferSampler() override
Destructor.
SoSFEnum depthBufferTarget
Enable/Disable depth buffer. Default is TRUE.
SoSFEnum wrapT
Wrapping mode.
SoSFTrigger takeSnapshot
Take a snapshot of the scene.
SoSFBool useFormatStateHints
Read state for format hints.
SoSFFloat sizeMultiplier
Size provided by size state hints is multiplied with this value.
virtual void applyRenderAction(SoState *)
Function applies render action to children.
void renderInSeparateRenderAction()
Renders in an extra render action and tries to reset the GL state as far as possible to avoid that th...
SoSFBool stencilBuffer
Enable/Disable stencil buffer. Default is FALSE.
SoGLRenderbuffer * _stencilBuffer
void handleEvent(SoHandleEventAction *action) override
SoSFBool useSizeStateHints
Read state for size hints.
void getBoundingBox(SoGetBoundingBoxAction *action) override
Compute bounding-box of subgraph.
SoResolutionIndependentViewerProxy * _proxy
void GLRender(SoGLRenderAction *action) override
Add node to parameter list element, and call 'updatePreparation'.
SoSFColor clearColor
Color used to clear the color buffer.
static void resetFixedFunctionGLState()
Resets the current GL state as far as possible (but leaves FBO intact, to allow push/pop later)
ColorBufferFormat
Internal texture format for color buffer.
SbBool _fldValUseFormatHints
SoGLRenderbuffer * _depthBufferRBU
SoFramebufferSamplerOffscreenSceneRenderer * _offscreenSceneRenderer
SoSFBool useSeparateRenderAction
If enabled, a separate offscreen renderaction is used instead of the render action of the scene above...
SbBool _fldValStencilBuffer
SoSFFloat clearAlpha
Alpha value used to clear the color buffer.
ColorBufferFormat _fldValColorBufferFormat
SoGLTexture * _colorBuffer
void nameChanged(SoField *field) override
Called when sampler name has changed.
SoSFBool automaticTraversal
Automatically traverse child scene.
DepthBufferTarget
Depth buffer mode.
DepthBufferTarget _fldValDepthBufferTarget
SbBool _fldValUseSizeHints
SoFramebufferSampler()
Constructor.
SbString _depthTextureName
name of the uniform ?_depth parameter
Abstract Open Inventor base class for sampler nodes.
SoSFFloat pixelScale
Scale factor for pixel size.