VTK
vtkOpenGLGPUVolumeRayCastMapper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOpenGLGPUVolumeRayCastMapper.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 vtkOpenGLGPUVolumeRayCastMapper_h
34 #define vtkOpenGLGPUVolumeRayCastMapper_h
35 
36 #include "vtkRenderingVolumeOpenGLModule.h" // For export macro
38 
39 class vtkVolume;
40 class vtkRenderer;
42 class vtkMatrix4x4;
43 class vtkUnsupportedRequiredExtensionsStringStream; // Pimpl
44 class vtkMapDataArrayTextureId; // Pimpl
45 class vtkMapMaskTextureId; // Pimpl
46 class vtkPolyData;
48 class vtkClipPolyData;
50 
51 class vtkOpacityTable; // internal class.
52 class vtkRGBTable; // internal class.
53 class vtkKWScalarField; // internal class.
54 class vtkKWMask; // internal class.
55 
56 class vtkOpacityTables; // Pimpl
57 class vtkDensifyPolyData;
58 class vtkStdString;
59 
60 class vtkShaderProgram2;
61 class vtkShader2;
62 
65 {
66 public:
69  virtual void PrintSelf(ostream& os, vtkIndent indent);
70 
72 
76  virtual int IsRenderSupported(vtkRenderWindow *window,
77  vtkVolumeProperty *property);
79 
81  virtual void ReleaseGraphicsResources(vtkWindow *window);
82 
85  static const char *OpenGLErrorMessage(unsigned int errorCode);
86 
89  static void PrintError(const char *headerMessage);
90 
91 protected:
94 
95  // The render method called by the superclass
96  virtual void GPURender(vtkRenderer *ren,
97  vtkVolume *vol);
98 
99  // Methods called by the AMR Volume Mapper.
100  virtual void PreRender(vtkRenderer *ren,
101  vtkVolume *vol,
102  double datasetBounds[6],
103  double scalarRange[2],
104  int numberOfScalarComponents,
105  unsigned int numberOfLevels);
106 
107  // \pre input is up-to-date
108  virtual void RenderBlock(vtkRenderer *ren,
109  vtkVolume *vol,
110  unsigned int level);
111 
112  virtual void PostRender(vtkRenderer *ren,
113  int numberOfScalarComponents);
114 
116 
121  const char *extensionName);
123 
130 
137 
144 
146 
164  vtkImageData *maskInput,
165  int textureExtent[6],
166  vtkVolume *volume);
168 
170 
175  int numberOfScalarComponents);
177 
178 
183  int numberOfScalarComponents,
184  unsigned int level);
186 
190 
192 
195  double worldBounds[6],
196  vtkVolume *vol);
198 
200 
203  int RenderClippedBoundingBox(int tcoordFlag,
204  size_t currentBlock,
205  size_t numberOfBlocks,
206  vtkRenderWindow *renWin);
208 
212 
215 
218 
222 
225 
229 
232 
235 
237  void DisplayFrameBufferAttachment(unsigned int uattachment);
238 
240 
246  int parallelProjection,
247  int raycastMethod,
248  int shadeMethod,
249  int componentMethod);
251 
254 
264  void ComputeReductionFactor(double allocatedTime);
265 
267 
269  vtkVolume *vol);
271 
273 
275  vtkVolume *vol);
277 
278  // Return abort status (true==abort)
280  double bounds[6],
281  vtkVolume *vol);
282 
284  vtkVolume *vol);
285 
288 
290  unsigned int *internalFormat,
291  unsigned int *format,
292  unsigned int *type,
293  int *componentSize);
294 
296  unsigned int format,
297  unsigned int type,
298  int textureSize[3],
299  int componentSize);
300 
301  void SlabsFromDatasetToIndex(double slabsDataSet[6],
302  double slabsPoints[6]);
303 
304  void SlabsFromIndexToDataset(double slabsPoints[6],
305  double slabsDataSet[6]);
306 
307  const char *GetEnabledString(unsigned char value);
309 
311 
313 
315 
320  vtkVolume *volume);
322 
331  virtual void GetReductionRatio(double ratio[3]);
332 
334 
335  // World coordinates of each corner of the dataset.
336  double BoundingBox[8][3];
337 
338  // Used during the clipping process.
342 
345 
347 
350 
351  unsigned int FrameBufferObject;
353 
354  // 3D scalar texture +1D color+1D opacity+2D grabbed depth buffer
355  // +1 2D colorbuffer.
356  unsigned int TextureObjects[5];
357  // used in MIP Mode (2 needed for ping-pong technique)
358  unsigned int MaxValueFrameBuffer;
359  unsigned int MaxValueFrameBuffer2;
360  int ReducedSize[2];
361 
363 
364  int LastSize[2];
365 
367 
368  // Supported extensions
369  // List of unsupported required extensions. Pimpl.
370  vtkUnsupportedRequiredExtensionsStringStream *UnsupportedRequiredExtensions;
372 
375 
377 
378  // Matrices used in internal computation. As a member variable,
379  // only one memory allocation is performed.
380  vtkMatrix4x4 *TempMatrix[3];
381 
382  double TableRange[2];
383 
384  // Final string to send to the GPU as the fragment program source code.
385 // char *FragmentCode;
386 // int FragmentCodeCapacity;
387 
390  char *ErrorString;
391 
392  // Store the last projection an raycast method in order to not rebuild
393  // the fragment code at every call.
399 
402 
406 
407 #if 0
408  vtkIdType LoadedExtent[6];
409  double LoadedBounds[6];
410  vtkTimeStamp LoadedScalarTime;
411  int LoadedCellFlag; // point data or cell data (or field data, not handled) ?
412 #endif
413 
414  unsigned int SavedFrameBuffer; // some offscreen mode use a framebuffer too.
415 
417 
418  float *NoiseTexture;
419  int NoiseTextureSize; // size of one dimension.
420  unsigned int NoiseTextureId; // GLuint
421 
423 
424  vtkMapDataArrayTextureId *ScalarsTextures; // need a list for AMR mode.
425  vtkMapMaskTextureId *MaskTextures; // need a list for AMR mode.
426 
427  vtkRGBTable *RGBTable;
428  vtkRGBTable *Mask1RGBTable;
429  vtkRGBTable *Mask2RGBTable;
430 
431  vtkOpacityTables *OpacityTables;
432 
433  vtkKWScalarField *CurrentScalar;
434  vtkKWMask *CurrentMask;
435 
437 
438  double LastProgressEventTime; // initial value is 0.0. Expressed in seconds.
439 
441 
449 
450  // Internal Variable used to keep track of whether or render window's size
451  // changed and therefore we need re-allocation.
453 
455 
456 private:
458  void operator=(const vtkOpenGLGPUVolumeRayCastMapper&); // Not implemented.
459 };
460 
461 #endif
vtkOpenGLGPUVolumeRayCastMapper::UpdateOpacityTransferFunction
int UpdateOpacityTransferFunction(vtkVolume *vol, int numberOfScalarComponents, unsigned int level)
vtkOpenGLGPUVolumeRayCastMapper::ClipBoundingBox
void ClipBoundingBox(vtkRenderer *ren, double worldBounds[6], vtkVolume *vol)
vtkOpenGLGPUVolumeRayCastMapper::RenderWholeVolume
void RenderWholeVolume(vtkRenderer *ren, vtkVolume *vol)
vtkPlane
perform various plane computations
Definition: vtkPlane.h:37
vtkOpenGLGPUVolumeRayCastMapper::RenderClippedBoundingBox
int RenderClippedBoundingBox(int tcoordFlag, size_t currentBlock, size_t numberOfBlocks, vtkRenderWindow *renWin)
vtkOpenGLGPUVolumeRayCastMapper::NoiseTextureId
unsigned int NoiseTextureId
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:420
vtkOpenGLGPUVolumeRayCastMapper::LoadExtensions
void LoadExtensions(vtkRenderWindow *window)
vtkOpenGLGPUVolumeRayCastMapper::RenderRegions
void RenderRegions(vtkRenderer *ren, vtkVolume *vol)
vtkOpenGLGPUVolumeRayCastMapper::PrintError
static void PrintError(const char *headerMessage)
vtkOpenGLGPUVolumeRayCastMapper::Program
vtkShaderProgram2 * Program
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:442
vtkOpenGLGPUVolumeRayCastMapper::LastShade
int LastShade
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:398
vtkOpenGLGPUVolumeRayCastMapper::UpdateColorTransferFunction
int UpdateColorTransferFunction(vtkVolume *vol, int numberOfScalarComponents)
vtkOpenGLGPUVolumeRayCastMapper::DisplayFrameBufferAttachment
void DisplayFrameBufferAttachment(unsigned int uattachment)
vtkMapMaskTextureId
Definition: vtkVolumeMask.h:351
vtkOpenGLGPUVolumeRayCastMapper::RenderBlock
virtual void RenderBlock(vtkRenderer *ren, vtkVolume *vol, unsigned int level)
vtkGPUVolumeRayCastMapper.h
vtkVolume
represents a volume (data & properties) in a rendered scene
Definition: vtkVolume.h:50
vtkOpenGLGPUVolumeRayCastMapper::DisplayFrameBufferAttachments
void DisplayFrameBufferAttachments()
vtkOpenGLGPUVolumeRayCastMapper::SmallInput
vtkImageData * SmallInput
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:400
vtkOpenGLGPUVolumeRayCastMapper::IsRenderSupported
virtual int IsRenderSupported(vtkRenderWindow *window, vtkVolumeProperty *property)
vtkOpenGLGPUVolumeRayCastMapper::LastCroppingMode
int LastCroppingMode
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:396
vtkOpenGLGPUVolumeRayCastMapper::LoadProjectionParameters
void LoadProjectionParameters(vtkRenderer *ren, vtkVolume *vol)
vtkOpenGLGPUVolumeRayCastMapper::Mask1RGBTable
vtkRGBTable * Mask1RGBTable
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:428
vtkOpenGLGPUVolumeRayCastMapper::TestLoadingScalar
bool TestLoadingScalar(unsigned int internalFormat, unsigned int format, unsigned int type, int textureSize[3], int componentSize)
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkOpenGLGPUVolumeRayCastMapper::DataBufferTime
vtkTimeStamp DataBufferTime
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:376
vtkOpenGLGPUVolumeRayCastMapper::TestRequiredExtension
int TestRequiredExtension(vtkOpenGLExtensionManager *extensions, const char *extensionName)
vtkOpenGLGPUVolumeRayCastMapper::Mask2RGBTable
vtkRGBTable * Mask2RGBTable
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:429
vtkOpenGLGPUVolumeRayCastMapper::PreRender
virtual void PreRender(vtkRenderer *ren, vtkVolume *vol, double datasetBounds[6], double scalarRange[2], int numberOfScalarComponents, unsigned int numberOfLevels)
vtkOpenGLGPUVolumeRayCastMapper::SizeChanged
bool SizeChanged
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:452
vtkOpenGLGPUVolumeRayCastMapper::SlabsFromDatasetToIndex
void SlabsFromDatasetToIndex(double slabsDataSet[6], double slabsPoints[6])
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:35
vtkOpenGLGPUVolumeRayCastMapper::CheckFrameBufferStatus
void CheckFrameBufferStatus()
vtkOpenGLGPUVolumeRayCastMapper::FrameBufferObject
unsigned int FrameBufferObject
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:351
vtkOpenGLGPUVolumeRayCastMapper::vtkOpenGLGPUVolumeRayCastMapper
vtkOpenGLGPUVolumeRayCastMapper()
vtkOpenGLGPUVolumeRayCastMapper::InvVolumeMatrix
vtkMatrix4x4 * InvVolumeMatrix
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:344
vtkOpenGLGPUVolumeRayCastMapper::RenderSubVolume
int RenderSubVolume(vtkRenderer *ren, double bounds[6], vtkVolume *vol)
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkOpenGLGPUVolumeRayCastMapper::Main
vtkShader2 * Main
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:443
vtkOpenGLGPUVolumeRayCastMapper::BufferToString
vtkStdString BufferToString(int buffer)
vtkOpenGLGPUVolumeRayCastMapper::ClippedBoundingBox
vtkPolyData * ClippedBoundingBox
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:362
vtkOpenGLGPUVolumeRayCastMapper::ScaleBiasProgram
vtkShaderProgram2 * ScaleBiasProgram
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:454
vtkOpenGLGPUVolumeRayCastMapper::LoadScalarField
int LoadScalarField(vtkImageData *input, vtkImageData *maskInput, int textureExtent[6], vtkVolume *volume)
vtkOpenGLGPUVolumeRayCastMapper::PowerOfTwoGreaterOrEqual
int PowerOfTwoGreaterOrEqual(int x)
vtkgl::x
GLint GLint GLint GLint GLint x
Definition: vtkgl.h:11318
vtkTessellatedBoxSource
Create a polygonal representation of a box with a given level of subdivision.
Definition: vtkTessellatedBoxSource.h:44
vtkgl::input
GLenum GLenum GLenum input
Definition: vtkgl.h:15941
vtkOpenGLGPUVolumeRayCastMapper::ReleaseGraphicsResources
virtual void ReleaseGraphicsResources(vtkWindow *window)
vtkOpenGLGPUVolumeRayCastMapper::CreateOpenGLObjects
void CreateOpenGLObjects(vtkRenderer *ren)
vtkOpenGLGPUVolumeRayCastMapper::PrintSelf
virtual void PrintSelf(ostream &os, vtkIndent indent)
vtkOpenGLGPUVolumeRayCastMapper::NearPlane
vtkPlane * NearPlane
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:341
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:34
vtkOpenGLGPUVolumeRayCastMapper::LastComponent
int LastComponent
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:397
vtkOpenGLGPUVolumeRayCastMapper::IgnoreSampleDistancePerPixel
bool IgnoreSampleDistancePerPixel
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:422
vtkOpenGLGPUVolumeRayCastMapper::Densify
vtkDensifyPolyData * Densify
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:346
VTKRENDERINGVOLUMEOPENGL_EXPORT
#define VTKRENDERINGVOLUMEOPENGL_EXPORT
Definition: vtkRenderingVolumeOpenGLModule.h:15
vtkOpenGLGPUVolumeRayCastMapper::CurrentMask
vtkKWMask * CurrentMask
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:434
vtkOpenGLExtensionManager
Interface class for querying and using OpenGL extensions.
vtkOpenGLGPUVolumeRayCastMapper::PreserveOrientation
bool PreserveOrientation
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:440
vtkgl::value
GLsizei const GLfloat * value
Definition: vtkgl.h:12021
vtkOpenGLGPUVolumeRayCastMapper::BuildScaleBiasProgram
void BuildScaleBiasProgram(vtkRenderWindow *w)
vtkOpenGLGPUVolumeRayCastMapper::Clip
vtkClipConvexPolyData * Clip
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:343
vtkOpenGLGPUVolumeRayCastMapper::Component
vtkShader2 * Component
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:447
vtkOpenGLGPUVolumeRayCastMapper::SupportsPixelBufferObjects
int SupportsPixelBufferObjects
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:374
vtkOpenGLGPUVolumeRayCastMapper::BuildProgram
void BuildProgram(vtkRenderWindow *w, int parallelProjection, int raycastMethod, int shadeMethod, int componentMethod)
vtkOpenGLGPUVolumeRayCastMapper::GetEnabledString
const char * GetEnabledString(unsigned char value)
vtkOpenGLGPUVolumeRayCastMapper::CleanupRender
void CleanupRender()
vtkOpenGLGPUVolumeRayCastMapper::NumberOfCroppingRegions
int NumberOfCroppingRegions
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:333
vtkOpenGLGPUVolumeRayCastMapper::ErrorString
char * ErrorString
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:390
vtkOpenGLGPUVolumeRayCastMapper::PostRender
virtual void PostRender(vtkRenderer *ren, int numberOfScalarComponents)
vtkOpenGLGPUVolumeRayCastMapper::ComputeNumberOfCroppingRegions
void ComputeNumberOfCroppingRegions()
vtkOpenGLGPUVolumeRayCastMapper::GPURender
virtual void GPURender(vtkRenderer *ren, vtkVolume *vol)
vtkOpenGLGPUVolumeRayCastMapper::DisplayReadAndDrawBuffers
void DisplayReadAndDrawBuffers()
vtkOpenGLGPUVolumeRayCastMapper::~vtkOpenGLGPUVolumeRayCastMapper
~vtkOpenGLGPUVolumeRayCastMapper()
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:39
vtkOpenGLGPUVolumeRayCastMapper::GetTextureFormat
void GetTextureFormat(vtkImageData *input, unsigned int *internalFormat, unsigned int *format, unsigned int *type, int *componentSize)
vtkOpenGLGPUVolumeRayCastMapper::Supports_GL_ARB_texture_float
int Supports_GL_ARB_texture_float
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:373
vtkOpenGLGPUVolumeRayCastMapper::LastParallelProjection
int LastParallelProjection
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:394
vtkOpenGLGPUVolumeRayCastMapper::RenderTextureToScreen
void RenderTextureToScreen(vtkRenderer *ren)
vtkOpenGLGPUVolumeRayCastMapper::Projection
vtkShader2 * Projection
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:444
vtkOpenGLGPUVolumeRayCastMapper::OpenGLObjectsCreated
int OpenGLObjectsCreated
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:348
vtkGPUVolumeRayCastMapper
Ray casting performed on the GPU.
Definition: vtkGPUVolumeRayCastMapper.h:41
vtkOpenGLGPUVolumeRayCastMapper::NoiseTextureSize
int NoiseTextureSize
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:419
vtkgl::level
GLint level
Definition: vtkgl.h:11316
vtkOpenGLGPUVolumeRayCastMapper::ScalarsTextures
vtkMapDataArrayTextureId * ScalarsTextures
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:424
vtkOpenGLGPUVolumeRayCastMapper::ActualSampleDistance
float ActualSampleDistance
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:436
vtkOpenGLGPUVolumeRayCastMapper
OpenGL subclass that draws the image to the screen.
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:65
vtkOpenGLGPUVolumeRayCastMapper::ComputeReductionFactor
void ComputeReductionFactor(double allocatedTime)
vtkOpenGLGPUVolumeRayCastMapper::GetLightingStatus
void GetLightingStatus()
vtkClipConvexPolyData
clip any dataset with user-specified implicit function or input scalar data
Definition: vtkClipConvexPolyData.h:37
vtkClipPolyData
clip polygonal data with user-specified implicit function or input scalar data
Definition: vtkClipPolyData.h:74
vtkOpenGLGPUVolumeRayCastMapper::SmallInputBuildTime
vtkTimeStamp SmallInputBuildTime
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:401
vtkOpenGLGPUVolumeRayCastMapper::MaxValueFrameBuffer
unsigned int MaxValueFrameBuffer
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:358
vtkDensifyPolyData
Densify the input by adding points at the centroid.
Definition: vtkDensifyPolyData.h:42
vtkOpenGLGPUVolumeRayCastMapper::LastRayCastMethod
int LastRayCastMethod
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:395
vtkOpenGLGPUVolumeRayCastMapper::GetReductionRatio
virtual void GetReductionRatio(double ratio[3])
vtkgl::buffer
GLuint buffer
Definition: vtkgl.h:11839
vtkOpenGLGPUVolumeRayCastMapper::OpenGLErrorMessage
static const char * OpenGLErrorMessage(unsigned int errorCode)
vtkShaderProgram2
GLSL Program.
Definition: vtkShaderProgram2.h:68
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:64
vtkOpenGLGPUVolumeRayCastMapper::Planes
vtkPlaneCollection * Planes
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:340
vtkOpenGLGPUVolumeRayCastMapper::GetOpenGLState
void GetOpenGLState()
vtkgl::internalFormat
GLenum internalFormat
Definition: vtkgl.h:15195
vtkOpenGLGPUVolumeRayCastMapper::BoxSource
vtkTessellatedBoxSource * BoxSource
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:416
vtkOpenGLGPUVolumeRayCastMapper::CroppingShader
vtkShader2 * CroppingShader
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:446
vtkOpenGLGPUVolumeRayCastMapper::SlabsFromIndexToDataset
void SlabsFromIndexToDataset(double slabsPoints[6], double slabsDataSet[6])
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
vtkOpenGLGPUVolumeRayCastMapper::LoadExtensionsSucceeded
int LoadExtensionsSucceeded
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:371
vtkOpenGLGPUVolumeRayCastMapper::ErrorColumn
int ErrorColumn
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:389
vtkShader2
GLSL Shader.
Definition: vtkShader2.h:62
vtkOpenGLGPUVolumeRayCastMapper::OpacityTables
vtkOpacityTables * OpacityTables
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:431
vtkOpenGLGPUVolumeRayCastMapper::NumberOfFrameBuffers
int NumberOfFrameBuffers
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:349
vtkOpenGLGPUVolumeRayCastMapper::AllocateFrameBuffers
int AllocateFrameBuffers(vtkRenderer *ren)
vtkOpenGLGPUVolumeRayCastMapper::RGBTable
vtkRGBTable * RGBTable
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:427
vtkOpenGLGPUVolumeRayCastMapper::ErrorLine
int ErrorLine
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:388
vtkOpenGLGPUVolumeRayCastMapper::Trace
vtkShader2 * Trace
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:445
vtkOpenGLGPUVolumeRayCastMapper::DepthRenderBufferObject
unsigned int DepthRenderBufferObject
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:352
vtkOpenGLGPUVolumeRayCastMapper::ReductionFactor
double ReductionFactor
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:366
vtkOpenGLGPUVolumeRayCastMapper::ComputeMinimalSampleDistancePerPixel
double ComputeMinimalSampleDistancePerPixel(vtkRenderer *renderer, vtkVolume *volume)
vtkPlaneCollection
maintain a list of planes
Definition: vtkPlaneCollection.h:36
vtkRenderWindow
create a window for renderers to draw into
Definition: vtkRenderWindow.h:89
vtkgl::w
GLubyte GLubyte GLubyte GLubyte w
Definition: vtkgl.h:12054
vtkOpenGLGPUVolumeRayCastMapper::SavedFrameBuffer
unsigned int SavedFrameBuffer
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:414
vtkStdString
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:48
vtkOpenGLGPUVolumeRayCastMapper::SetupRender
void SetupRender(vtkRenderer *ren, vtkVolume *vol)
vtkOpenGLGPUVolumeRayCastMapper::Shade
vtkShader2 * Shade
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:448
vtkOpenGLGPUVolumeRayCastMapper::MaskTextures
vtkMapMaskTextureId * MaskTextures
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:425
vtkgl::type
GLuint GLuint GLsizei GLenum type
Definition: vtkgl.h:11315
vtkOpenGLGPUVolumeRayCastMapper::CurrentScalar
vtkKWScalarField * CurrentScalar
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:433
vtkOpenGLGPUVolumeRayCastMapper::UnsupportedRequiredExtensions
vtkUnsupportedRequiredExtensionsStringStream * UnsupportedRequiredExtensions
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:370
vtkgl::format
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: vtkgl.h:11316
vtkOpenGLGPUVolumeRayCastMapper::LastProgressEventTime
double LastProgressEventTime
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:438
vtkOpenGLGPUVolumeRayCastMapper::CopyFBOToTexture
void CopyFBOToTexture()
vtkOpenGLGPUVolumeRayCastMapper::PolyDataBoundingBox
vtkPolyData * PolyDataBoundingBox
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:339
vtkOpenGLGPUVolumeRayCastMapper::MaxValueFrameBuffer2
unsigned int MaxValueFrameBuffer2
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:359
vtkRenderingVolumeOpenGLModule.h
vtkOpenGLGPUVolumeRayCastMapper::DebugDisplayBox
void DebugDisplayBox(vtkPolyData *box)
vtkOpenGLGPUVolumeRayCastMapper::NoiseTexture
float * NoiseTexture
Definition: vtkOpenGLGPUVolumeRayCastMapper.h:418
vtkVolumeProperty
represents the common properties for rendering a volume.
Definition: vtkVolumeProperty.h:60
vtkOpenGLGPUVolumeRayCastMapper::New
static vtkOpenGLGPUVolumeRayCastMapper * New()
vtkOpenGLGPUVolumeRayCastMapper::UpdateNoiseTexture
void UpdateNoiseTexture()