VTK
dox
opt
build
vtk6-6.3.0+dfsg2
Rendering
OpenGL2
vtkOpenGLRenderer.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkOpenGLRenderer.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
=========================================================================*/
22
#ifndef vtkOpenGLRenderer_h
23
#define vtkOpenGLRenderer_h
24
25
#include "vtkRenderingOpenGL2Module.h"
// For export macro
26
#include "
vtkRenderer.h
"
27
#include <vector>
// STL Header
28
29
class
vtkRenderPass
;
30
class
vtkOpenGLTexture
;
31
class
vtkTextureObject
;
32
class
vtkDepthPeelingPass
;
33
34
class
VTKRENDERINGOPENGL2_EXPORT
vtkOpenGLRenderer
:
public
vtkRenderer
35
{
36
public
:
37
static
vtkOpenGLRenderer
*
New
();
38
vtkTypeMacro
(
vtkOpenGLRenderer
,
vtkRenderer
);
39
void
PrintSelf
(ostream& os,
vtkIndent
indent);
40
42
void
DeviceRender
(
void
);
43
47
virtual
void
DeviceRenderTranslucentPolygonalGeometry
();
48
49
void
Clear
(
void
);
50
52
int
UpdateLights
(
void
);
53
58
int
GetDepthPeelingHigherLayer
();
59
61
62
void
SetPass
(
vtkRenderPass
*
p
);
63
vtkGetObjectMacro
(Pass,
vtkRenderPass
);
65
66
protected
:
67
vtkOpenGLRenderer
();
68
~vtkOpenGLRenderer
();
69
71
void
CheckCompilation
(
unsigned
int
fragmentShader);
72
73
// Internal method to release graphics resources in any derived renderers.
74
virtual
void
ReleaseGraphicsResources
(
vtkWindow
*
w
);
75
76
// Picking functions to be implemented by sub-classes
77
virtual
void
DevicePickRender
();
78
virtual
void
StartPick
(
unsigned
int
pickFromSize);
79
virtual
void
UpdatePickId
();
80
virtual
void
DonePick
();
81
virtual
unsigned
int
GetPickedId
();
82
virtual
unsigned
int
GetNumPickedIds
();
83
virtual
int
GetPickedIds
(
unsigned
int
atMost,
unsigned
int
*callerBuffer);
84
virtual
double
GetPickedZ
();
85
86
// Ivars used in picking
87
class
vtkGLPickInfo* PickInfo;
88
89
double
PickedZ;
90
91
friend
class
vtkOpenGLProperty
;
92
friend
class
vtkOpenGLTexture
;
93
friend
class
vtkOpenGLImageSliceMapper
;
94
friend
class
vtkOpenGLImageResliceMapper;
95
97
vtkDepthPeelingPass
*
DepthPeelingPass
;
98
99
// Is rendering at translucent geometry stage using depth peeling and
100
// rendering a layer other than the first one? (Boolean value)
101
// If so, the uniform variables UseTexture and Texture can be set.
102
// (Used by vtkOpenGLProperty or vtkOpenGLTexture)
103
int
DepthPeelingHigherLayer;
104
105
friend
class
vtkRenderPass
;
106
vtkRenderPass
*Pass;
107
108
private
:
109
vtkOpenGLRenderer
(
const
vtkOpenGLRenderer
&);
// Not implemented.
110
void
operator=(
const
vtkOpenGLRenderer
&);
// Not implemented.
111
};
112
113
#endif
vtkOpenGLRenderer::GetDepthPeelingHigherLayer
int GetDepthPeelingHigherLayer()
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition:
vtkSetGet.h:232
vtkOpenGLRenderer::GetNumPickedIds
virtual unsigned int GetNumPickedIds()
vtkDepthPeelingPass
Implement an Order Independent Transparency render pass.
Definition:
vtkDepthPeelingPass.h:53
vtkOpenGLRenderer::DevicePickRender
virtual void DevicePickRender()
vtkOpenGLRenderer::GetPickedIds
virtual int GetPickedIds(unsigned int atMost, unsigned int *callerBuffer)
vtkOpenGLRenderer::GetPickedZ
virtual double GetPickedZ()
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition:
vtkSetGet.h:642
vtkOpenGLProperty
OpenGL property.
Definition:
vtkOpenGLProperty.h:37
vtkRenderer.h
vtkOpenGLRenderer::~vtkOpenGLRenderer
~vtkOpenGLRenderer()
vtkOpenGLRenderer::GetPickedId
virtual unsigned int GetPickedId()
vtkOpenGLRenderer::DepthPeelingPass
vtkDepthPeelingPass * DepthPeelingPass
Definition:
vtkOpenGLRenderer.h:97
vtkWindow
window superclass for vtkRenderWindow
Definition:
vtkWindow.h:34
vtkOpenGLRenderer::DeviceRender
void DeviceRender(void)
vtkOpenGLRenderer::New
static vtkOpenGLRenderer * New()
vtkOpenGLRenderer::SetPass
void SetPass(vtkRenderPass *p)
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:39
vtkTextureObject
abstracts an OpenGL texture object.
Definition:
vtkTextureObject.h:40
vtkOpenGLRenderer::StartPick
virtual void StartPick(unsigned int pickFromSize)
vtkOpenGLRenderer
OpenGL renderer.
Definition:
vtkOpenGLRenderer.h:36
vtkOpenGLImageSliceMapper
OpenGL mapper for image slice display.
Definition:
vtkOpenGLImageSliceMapper.h:41
vtkOpenGLRenderer::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkOpenGLRenderer::DonePick
virtual void DonePick()
vtkRenderer
abstract specification for renderers
Definition:
vtkRenderer.h:64
vtkOpenGLRenderer::vtkOpenGLRenderer
vtkOpenGLRenderer()
vtkgl::p
GLfloat GLfloat p
Definition:
vtkgl.h:15717
vtkOpenGLRenderer::ReleaseGraphicsResources
virtual void ReleaseGraphicsResources(vtkWindow *w)
vtkgl::w
GLubyte GLubyte GLubyte GLubyte w
Definition:
vtkgl.h:12054
vtkOpenGLTexture
OpenGL texture map.
Definition:
vtkOpenGLTexture.h:37
vtkOpenGLRenderer::UpdatePickId
virtual void UpdatePickId()
vtkOpenGLRenderer::UpdateLights
int UpdateLights(void)
vtkOpenGLRenderer::CheckCompilation
void CheckCompilation(unsigned int fragmentShader)
vtkOpenGLRenderer::Clear
void Clear(void)
vtkRenderPass
Perform part of the rendering of a vtkRenderer.
Definition:
vtkRenderPass.h:58
vtkOpenGLRenderer::DeviceRenderTranslucentPolygonalGeometry
virtual void DeviceRenderTranslucentPolygonalGeometry()
Generated by
1.8.20