VTK  9.0.1
vtkDepthImageProcessingPass.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkDepthImageProcessingPass.h
5 
6  Copyright (c) Sandia Corporation, Kitware Inc.
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 =========================================================================*/
15 /*----------------------------------------------------------------------
16 Acknowledgement:
17 This algorithm is the result of joint work by Electricité de France,
18 CNRS, Collège de France and Université J. Fourier as part of the
19 Ph.D. thesis of Christian BOUCHENY.
20 ------------------------------------------------------------------------*/
34 #ifndef vtkDepthImageProcessingPass_h
35 #define vtkDepthImageProcessingPass_h
36 
37 #include "vtkImageProcessingPass.h"
38 #include "vtkRenderingOpenGL2Module.h" // For export macro
39 
41 class vtkDepthPeelingPassLayerList; // Pimpl
43 class vtkTextureObject;
44 
45 class VTKRENDERINGOPENGL2_EXPORT vtkDepthImageProcessingPass : public vtkImageProcessingPass
46 {
47 public:
49  void PrintSelf(ostream& os, vtkIndent indent) override;
50 
51 protected:
56 
60  ~vtkDepthImageProcessingPass() override;
61 
71  virtual void RenderDelegate(const vtkRenderState* s, int width, int height, int newWidth,
72  int newHeight, vtkOpenGLFramebufferObject* fbo, vtkTextureObject* colortarget,
73  vtkTextureObject* depthtarget);
74 
80  void ReadWindowSize(const vtkRenderState* s);
81 
82  int Origin[2]; // Viewport origin
83  int Width; // parent window width
84  int Height; // parent window height
85  int W; // this width
86  int H; // this height
87  int ExtraPixels; // w(h) = width(height) + 2*extrapixels
88 
89 private:
91  void operator=(const vtkDepthImageProcessingPass&) = delete;
92 };
93 
94 #endif
vtkDepthImageProcessingPass
Convenient class for post-processing passes. Based on vtkImageProcessingPass, but writes depth as wel...
Definition: vtkDepthImageProcessingPass.h:45
vtkImageProcessingPass::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkImageProcessingPass.h
vtkImageProcessingPass::RenderDelegate
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.
vtkOpenGLFramebufferObject
Internal class which encapsulates OpenGL FramebufferObject.
Definition: vtkOpenGLFramebufferObject.h:181
vtkX3D::height
@ height
Definition: vtkX3D.h:260
vtkDepthImageProcessingPass::H
int H
Definition: vtkDepthImageProcessingPass.h:86
vtkDepthImageProcessingPass::Height
int Height
Definition: vtkDepthImageProcessingPass.h:84
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkTextureObject
abstracts an OpenGL texture object.
Definition: vtkTextureObject.h:40
vtkDepthImageProcessingPass::Width
int Width
Definition: vtkDepthImageProcessingPass.h:83
vtkDepthImageProcessingPass::ExtraPixels
int ExtraPixels
Definition: vtkDepthImageProcessingPass.h:87
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition: vtkOpenGLRenderWindow.h:51
vtkRenderState
Context in which a vtkRenderPass will render.
Definition: vtkRenderState.h:40
vtkDepthImageProcessingPass::W
int W
Definition: vtkDepthImageProcessingPass.h:85
vtkImageProcessingPass
Convenient class for post-processing passes. render pass.
Definition: vtkImageProcessingPass.h:38