VTK  9.1.0
vtkSimpleMotionBlurPass.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSimpleMotionBlurPass.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
48 #ifndef vtkSimpleMotionBlurPass_h
49 #define vtkSimpleMotionBlurPass_h
50 
52 #include "vtkRenderingOpenGL2Module.h" // For export macro
53 
55 class vtkOpenGLHelper;
57 class vtkTextureObject;
58 
59 class VTKRENDERINGOPENGL2_EXPORT vtkSimpleMotionBlurPass : public vtkDepthImageProcessingPass
60 {
61 public:
64  void PrintSelf(ostream& os, vtkIndent indent) override;
65 
70  void Render(const vtkRenderState* s) override;
71 
78 
80 
88  vtkGetMacro(SubFrames, int);
89  virtual void SetSubFrames(int subFrames);
91 
96  vtkSetMacro(DepthFormat, int);
97 
104  vtkSetMacro(ColorFormat, int);
105 
106  // Get the depth texture object
107  vtkGetObjectMacro(DepthTexture, vtkTextureObject);
108 
109  // Get the Color texture object
110  vtkGetObjectMacro(ColorTexture, vtkTextureObject);
111 
112 protected:
117 
122 
127  vtkTextureObject* ColorTexture; // render target for the scene
128  vtkTextureObject* AccumulationTexture[2]; // where we add the colors
129  vtkTextureObject* DepthTexture; // render target for the depth
130 
132 
140 
143 
144  int SubFrames; // number of sub frames
145  int CurrentSubFrame; // what one are we on
148 
149 private:
151  void operator=(const vtkSimpleMotionBlurPass&) = delete;
152 };
153 
154 #endif
Convenient class for post-processing passes.
a simple class to control print indentation
Definition: vtkIndent.h:113
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:36