VTK  9.3.20240914
vtkSimpleMotionBlurPass.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
39#ifndef vtkSimpleMotionBlurPass_h
40#define vtkSimpleMotionBlurPass_h
41
43#include "vtkRenderingOpenGL2Module.h" // For export macro
44#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
45
46VTK_ABI_NAMESPACE_BEGIN
48class vtkOpenGLHelper;
51
52class VTKRENDERINGOPENGL2_EXPORT VTK_MARSHALAUTO vtkSimpleMotionBlurPass
54{
55public:
58 void PrintSelf(ostream& os, vtkIndent indent) override;
59
64 void Render(const vtkRenderState* s) override;
65
72
74
82 vtkGetMacro(SubFrames, int);
83 virtual void SetSubFrames(int subFrames);
85
90 vtkSetMacro(DepthFormat, int);
91
98 vtkSetMacro(ColorFormat, int);
99
100 // Get the depth texture object
101 vtkGetObjectMacro(DepthTexture, vtkTextureObject);
102
103 // Get the Color texture object
104 vtkGetObjectMacro(ColorTexture, vtkTextureObject);
105
106protected:
111
116
121 vtkTextureObject* ColorTexture; // render target for the scene
122 vtkTextureObject* AccumulationTexture[2]; // where we add the colors
123 vtkTextureObject* DepthTexture; // render target for the depth
124
126
134
137
138 int SubFrames; // number of sub frames
139 int CurrentSubFrame; // what one are we on
142
143private:
145 void operator=(const vtkSimpleMotionBlurPass&) = delete;
146};
147
148VTK_ABI_NAMESPACE_END
149#endif
Convenient class for post-processing passes.
a simple class to control print indentation
Definition vtkIndent.h:108
Internal class which encapsulates OpenGL FramebufferObject.
OpenGL rendering window.
Context in which a vtkRenderPass will render.
Avergae frames to simulate motion blur.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int ViewportWidth
Cache viewport values for depth peeling.
void Render(const vtkRenderState *s) override
Perform rendering according to a render state s.
int ViewportY
Cache viewport values for depth peeling.
virtual void SetSubFrames(int subFrames)
Set the number of sub frames for doing motion blur.
int ViewportX
Cache viewport values for depth peeling.
void ReleaseGraphicsResources(vtkWindow *w) override
Release graphics resources and ask components to release their own resources.
int ViewportHeight
Cache viewport values for depth peeling.
vtkOpenGLFramebufferObject * FrameBufferObject
Graphics resources.
vtkSimpleMotionBlurPass()
Default constructor.
~vtkSimpleMotionBlurPass() override
Destructor.
static vtkSimpleMotionBlurPass * New()
abstracts an OpenGL texture object.
window superclass for vtkRenderWindow
Definition vtkWindow.h:48
#define VTK_MARSHALAUTO