forked from Kitware/VTK
-
Notifications
You must be signed in to change notification settings - Fork 0
/
vtkOSPRayVolumeMapper.h
71 lines (56 loc) · 2.04 KB
/
vtkOSPRayVolumeMapper.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*=========================================================================
Program: Visualization Toolkit
Module: vtkOSPRayVolumeMapper.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/**
* @class vtkOSPRayVolumeMapper
* @brief Standalone OSPRayVolumeMapper.
*
* This is a standalone interface for ospray volume rendering to be used
* within otherwise OpenGL rendering contexts such as within the
* SmartVolumeMapper.
*/
#ifndef vtkOSPRayVolumeMapper_h
#define vtkOSPRayVolumeMapper_h
#include "vtkRenderingOSPRayModule.h" // For export macro
#include "vtkOSPRayVolumeInterface.h"
class vtkOSPRayPass;
class vtkRenderer;
class vtkWindow;
class VTKRENDERINGOSPRAY_EXPORT vtkOSPRayVolumeMapper
: public vtkOSPRayVolumeInterface
{
public:
static vtkOSPRayVolumeMapper *New();
vtkTypeMacro(vtkOSPRayVolumeMapper,vtkOSPRayVolumeInterface);
void PrintSelf( ostream& os, vtkIndent indent ) override;
/**
* Release any graphics resources that are being consumed by this mapper.
* The parameter window could be used to determine which graphic
* resources to release.
*/
virtual void ReleaseGraphicsResources(vtkWindow *) override;
// Initialize internal constructs
virtual void Init();
/**
* Render the volume onto the screen.
* Overridden to use OSPRay to do the work.
*/
virtual void Render(vtkRenderer *, vtkVolume *) override;
protected:
vtkOSPRayVolumeMapper();
~vtkOSPRayVolumeMapper();
vtkOSPRayPass *InternalOSPRayPass;
vtkRenderer *InternalRenderer;
bool Initialized;
private:
vtkOSPRayVolumeMapper(const vtkOSPRayVolumeMapper&) = delete;
void operator=(const vtkOSPRayVolumeMapper&) = delete;
};
#endif