forked from Kitware/VTK
-
Notifications
You must be signed in to change notification settings - Fork 0
/
vtkOpenGLHardwareSupport.h
81 lines (63 loc) · 2.3 KB
/
vtkOpenGLHardwareSupport.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
72
73
74
75
76
77
78
79
80
81
/*=========================================================================
Program: Visualization Toolkit
Module: vtkOpenGLHardwareSupport.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 vtkOpenGLHardwareSupport
* @brief OpenGL rendering window
*
* vtkOpenGLHardwareSupport is an implementation of methods used
* to query OpenGL and the hardware of what kind of graphics support
* is available. When VTK supports more than one Graphics API an
* abstract super class vtkHardwareSupport should be implemented
* for this class to derive from.
*/
#ifndef vtkOpenGLHardwareSupport_h
#define vtkOpenGLHardwareSupport_h
#include "vtkRenderingOpenGLModule.h" // For export macro
#include "vtkObject.h"
class vtkOpenGLExtensionManager;
class VTKRENDERINGOPENGL_EXPORT vtkOpenGLHardwareSupport :
public vtkObject //: public vtkHardwareSupport
{
public:
vtkTypeMacro(vtkOpenGLHardwareSupport, vtkObject);
void PrintSelf(ostream& os, vtkIndent indent) override;
static vtkOpenGLHardwareSupport *New();
/**
* Return the number of fixed-function texture units.
*/
int GetNumberOfFixedTextureUnits();
/**
* Return the total number of texture image units accessible by a shader
* program.
*/
int GetNumberOfTextureUnits();
/**
* Test if MultiTexturing is supported.
*/
bool GetSupportsMultiTexturing();
//@{
/**
* Set/Get a reference to a vtkRenderWindow which is Required
* for most methods of this class to work.
*/
vtkGetObjectMacro(ExtensionManager, vtkOpenGLExtensionManager);
void SetExtensionManager(vtkOpenGLExtensionManager* extensionManager);
//@}
protected:
vtkOpenGLHardwareSupport();
~vtkOpenGLHardwareSupport() override;
private:
vtkOpenGLHardwareSupport(const vtkOpenGLHardwareSupport&) = delete;
void operator=(const vtkOpenGLHardwareSupport&) = delete;
bool ExtensionManagerSet();
vtkOpenGLExtensionManager* ExtensionManager;
};
#endif