VTK  9.7.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 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
29 
30 VTK_ABI_NAMESPACE_BEGIN
32 class vtkDepthPeelingPassLayerList; // Pimpl
34 class vtkTextureObject;
35 
36 class VTKRENDERINGOPENGL2_EXPORT VTK_MARSHALAUTO vtkDepthImageProcessingPass
37  : public vtkImageProcessingPass
38 {
39 public:
41  void PrintSelf(ostream& os, vtkIndent indent) override;
42 
43 protected:
48 
52  ~vtkDepthImageProcessingPass() override;
53 
63  virtual void RenderDelegate(const vtkRenderState* s, int width, int height, int newWidth,
64  int newHeight, vtkOpenGLFramebufferObject* fbo, vtkTextureObject* colortarget,
65  vtkTextureObject* depthtarget);
66 
72  void ReadWindowSize(const vtkRenderState* s);
73 
74  int Origin[2]; // Viewport origin
75  int Width; // parent window width
76  int Height; // parent window height
77  int W; // this width
78  int H; // this height
79  int ExtraPixels; // w(h) = width(height) + 2*extrapixels
80 
81 private:
83  void operator=(const vtkDepthImageProcessingPass&) = delete;
84 };
85 
86 VTK_ABI_NAMESPACE_END
87 #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.
#define VTK_MARSHALAUTO
Convenient class for post-processing passes.