MeVisLab Toolbox Reference
SoMultiPassFramebufferSampler.h
Go to the documentation of this file.
1/*************************************************************************************
2**
3** Copyright 2007, MeVis Medical Solutions AG
4**
5** The user may use this file in accordance with the license agreement provided with
6** the Software or, alternatively, in accordance with the terms contained in a
7** written agreement between the user and MeVis Medical Solutions AG.
8**
9** For further information use the contact form at https://www.mevislab.de/contact
10**
11**************************************************************************************/
12
13#ifndef SO_MULTI_PASS_FRAMEBUFFER_SAMPLER_H
14#define SO_MULTI_PASS_FRAMEBUFFER_SAMPLER_H
15
16
18
19#include "SoShaderSystem.h"
21#include <Inventor/fields/SoSFUInt32.h>
22#include <Inventor/fields/SoSFFloat.h>
23#include <Inventor/fields/SoSFBool.h>
24#include <Inventor/SbLinear.h>
25
27class SoGLTexture;
28
31{
33
34 SO_NODE_HEADER(SoMultiPassFramebufferSampler);
35
36 public:
37
40
43
46
49
52
55
56 SoINTERNAL public:
57
59 static void initClass();
60
62 unsigned int curPass() {
63 return _curPass;
64 }
65
66 SoEXTENDER public:
67
69 return _copyColorBuffer;
70 }
71
72 protected:
73
74 unsigned int _curPass;
77
80
82 void applyRenderAction(SoState *) override;
83
84 private:
85
86 SoGLFramebufferObject *_copyFramebufferObject;
87 SoGLTexture *_copyColorBuffer;
88};
89
90#endif // _SO_MULTIPASS_FRAMEBUFFER_SAMPLER_
Open Inventor sampler node that gets it's 2D image from a framebuffer object.
Open Inventor node to accumulate multiple render passes in a sampler.
void applyRenderAction(SoState *) override
Function applies render action to children multiple times.
SoSFFloat epsilon
Smallest value that keeps the node still iterating.
SoSFUInt32 id
Id that is used to identify this node if nested.
unsigned int curPass()
Current render pass, starting with '0'. Only valid if read by child nodes!
~SoMultiPassFramebufferSampler() override
Destructor.
SoMultiPassFramebufferSampler()
Constructor.
static void initClass()
Initialize class with runtime type system.
SoSFFloat value
Value to compare against 'epsilon'.
SoSFBool initSamplerCopy
Initialize the copy FBO texture with all zero.
SoSFUInt32 numPasses
Number of times to traverse the subgraph below.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.