VTK  9.3.0
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
29 #ifndef vtkSimpleMotionBlurPass_h
30 #define vtkSimpleMotionBlurPass_h
31 
33 #include "vtkRenderingOpenGL2Module.h" // For export macro
34 
35 VTK_ABI_NAMESPACE_BEGIN
37 class vtkOpenGLHelper;
39 class vtkTextureObject;
40 
41 class VTKRENDERINGOPENGL2_EXPORT vtkSimpleMotionBlurPass : public vtkDepthImageProcessingPass
42 {
43 public:
46  void PrintSelf(ostream& os, vtkIndent indent) override;
47 
52  void Render(const vtkRenderState* s) override;
53 
60 
62 
70  vtkGetMacro(SubFrames, int);
71  virtual void SetSubFrames(int subFrames);
73 
78  vtkSetMacro(DepthFormat, int);
79 
86  vtkSetMacro(ColorFormat, int);
87 
88  // Get the depth texture object
89  vtkGetObjectMacro(DepthTexture, vtkTextureObject);
90 
91  // Get the Color texture object
92  vtkGetObjectMacro(ColorTexture, vtkTextureObject);
93 
94 protected:
99 
104 
109  vtkTextureObject* ColorTexture; // render target for the scene
110  vtkTextureObject* AccumulationTexture[2]; // where we add the colors
111  vtkTextureObject* DepthTexture; // render target for the depth
112 
114 
122 
125 
126  int SubFrames; // number of sub frames
127  int CurrentSubFrame; // what one are we on
130 
131 private:
133  void operator=(const vtkSimpleMotionBlurPass&) = delete;
134 };
135 
136 VTK_ABI_NAMESPACE_END
137 #endif
Convenient class for post-processing passes.
a simple class to control print indentation
Definition: vtkIndent.h:38
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.
static vtkSimpleMotionBlurPass * New()
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.
abstracts an OpenGL texture object.
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37