VTK
dox
build
vtk6-LxE4te
vtk6-6.3.0+dfsg1
Rendering
Parallel
vtkCompositeZPass.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkCompositeZPass.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
=========================================================================*/
33
#ifndef vtkCompositeZPass_h
34
#define vtkCompositeZPass_h
35
36
#include "
vtkRenderingParallelModule.h
"
// For export macro
37
#include "vtkRenderPass.h"
38
39
class
vtkMultiProcessController
;
40
41
class
vtkPixelBufferObject
;
42
class
vtkTextureObject
;
43
class
vtkOpenGLRenderWindow
;
44
#ifdef VTK_OPENGL2
45
class
vtkOpenGLHelper
;
46
#else
47
class
vtkShaderProgram2
;
48
#endif
49
50
class
VTKRENDERINGPARALLEL_EXPORT
vtkCompositeZPass
:
public
vtkRenderPass
51
{
52
public
:
53
static
vtkCompositeZPass
*
New
();
54
vtkTypeMacro
(
vtkCompositeZPass
,
vtkRenderPass
);
55
void
PrintSelf
(ostream& os,
vtkIndent
indent);
56
59
virtual
void
Render
(
const
vtkRenderState
*
s
);
60
63
void
ReleaseGraphicsResources
(
vtkWindow
*
w
);
64
66
68
vtkGetObjectMacro
(Controller,
vtkMultiProcessController
);
69
virtual
void
SetController(
vtkMultiProcessController
*controller);
71
73
bool
IsSupported(
vtkOpenGLRenderWindow
*context);
74
75
protected
:
77
vtkCompositeZPass
();
78
80
virtual
~
vtkCompositeZPass
();
81
85
void
CreateProgram
(
vtkOpenGLRenderWindow
*context);
86
87
vtkMultiProcessController
*
Controller
;
88
89
vtkPixelBufferObject
*
PBO
;
90
vtkTextureObject
*
ZTexture
;
91
#ifdef VTK_OPENGL2
92
vtkOpenGLHelper
*Program;
93
#else
94
vtkShaderProgram2
*
Program
;
95
#endif
96
float
*
RawZBuffer
;
97
size_t
RawZBufferSize
;
98
99
private
:
100
vtkCompositeZPass
(
const
vtkCompositeZPass
&);
// Not implemented.
101
void
operator=(
const
vtkCompositeZPass
&);
// Not implemented.
102
};
103
104
#endif
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition:
vtkOpenGLRenderWindow.h:40
VTKRENDERINGPARALLEL_EXPORT
#define VTKRENDERINGPARALLEL_EXPORT
Definition:
vtkRenderingParallelModule.h:15
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition:
vtkSetGet.h:642
vtkRenderPass::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkWindow
window superclass for vtkRenderWindow
Definition:
vtkWindow.h:33
vtkRenderState
Context in which a vtkRenderPass will render.
Definition:
vtkRenderState.h:39
vtkgl::w
GLubyte GLubyte GLubyte GLubyte w
Definition:
vtkgl.h:12054
vtkShaderProgram2
GLSL Program.
Definition:
vtkShaderProgram2.h:67
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:38
vtkCompositeZPass::RawZBufferSize
size_t RawZBufferSize
Definition:
vtkCompositeZPass.h:97
vtkgl::CreateProgram
VTKRENDERINGOPENGL_EXPORT PFNGLCREATEPROGRAMPROC CreateProgram
vtkCompositeZPass::ZTexture
vtkTextureObject * ZTexture
Definition:
vtkCompositeZPass.h:90
vtkCompositeZPass::PBO
vtkPixelBufferObject * PBO
Definition:
vtkCompositeZPass.h:89
vtkRenderingParallelModule.h
vtkCompositeZPass::RawZBuffer
float * RawZBuffer
Definition:
vtkCompositeZPass.h:96
vtkPixelBufferObject
abstracts an OpenGL pixel buffer object.
Definition:
vtkPixelBufferObject.h:42
vtkCompositeZPass::Controller
vtkMultiProcessController * Controller
Definition:
vtkCompositeZPass.h:87
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition:
vtkSetGet.h:232
vtkCompositeZPass::Program
vtkShaderProgram2 * Program
Definition:
vtkCompositeZPass.h:94
vtkTextureObject
abstracts an OpenGL texture object.
Definition:
vtkTextureObject.h:39
vtkRenderPass::Render
virtual void Render(const vtkRenderState *s)=0
vtkOpenGLHelper
Definition:
vtkOpenGLHelper.h:30
vtkRenderPass::ReleaseGraphicsResources
virtual void ReleaseGraphicsResources(vtkWindow *w)
vtkgl::s
GLdouble s
Definition:
vtkgl.h:11594
vtkObject::New
static vtkObject * New()
vtkRenderPass
Perform part of the rendering of a vtkRenderer.
Definition:
vtkRenderPass.h:57
vtkCompositeZPass
Merge depth buffers of processes.
Definition:
vtkCompositeZPass.h:50
vtkMultiProcessController
Multiprocessing communication superclass.
Definition:
vtkMultiProcessController.h:84
Generated by
1.8.13