VTK  9.3.1
vtkDepthImageProcessingPass.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright (c) Sandia Corporation, Kitware Inc
3 // SPDX-License-Identifier: BSD-3-Clause
4 /*----------------------------------------------------------------------
5 Acknowledgement:
6 This algorithm is the result of joint work by Electricité de France,
7 CNRS, Collège de France and Université J. Fourier as part of the
8 Ph.D. thesis of Christian BOUCHENY.
9 ------------------------------------------------------------------------*/
23 #ifndef vtkDepthImageProcessingPass_h
24 #define vtkDepthImageProcessingPass_h
25 
26 #include "vtkImageProcessingPass.h"
27 #include "vtkRenderingOpenGL2Module.h" // For export macro
28 
29 VTK_ABI_NAMESPACE_BEGIN
31 class vtkDepthPeelingPassLayerList; // Pimpl
33 class vtkTextureObject;
34 
35 class VTKRENDERINGOPENGL2_EXPORT vtkDepthImageProcessingPass : public vtkImageProcessingPass
36 {
37 public:
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
41 protected:
46 
50  ~vtkDepthImageProcessingPass() override;
51 
61  virtual void RenderDelegate(const vtkRenderState* s, int width, int height, int newWidth,
62  int newHeight, vtkOpenGLFramebufferObject* fbo, vtkTextureObject* colortarget,
63  vtkTextureObject* depthtarget);
64 
70  void ReadWindowSize(const vtkRenderState* s);
71 
72  int Origin[2]; // Viewport origin
73  int Width; // parent window width
74  int Height; // parent window height
75  int W; // this width
76  int H; // this height
77  int ExtraPixels; // w(h) = width(height) + 2*extrapixels
78 
79 private:
81  void operator=(const vtkDepthImageProcessingPass&) = delete;
82 };
83 
84 VTK_ABI_NAMESPACE_END
85 #endif
OpenGL rendering window.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Convenient class for post-processing passes.
Context in which a vtkRenderPass will render.
void RenderDelegate(const vtkRenderState *s, int width, int height, int newWidth, int newHeight, vtkOpenGLFramebufferObject *fbo, vtkTextureObject *target)
Render delegate with a image of different dimensions than the original one.
a simple class to control print indentation
Definition: vtkIndent.h:28
Internal class which encapsulates OpenGL FramebufferObject.
abstracts an OpenGL texture object.
Convenient class for post-processing passes.