Open Inventor Release 2024.1.1
 
Loading...
Searching...
No Matches
SbGPUCapabilities.h
1#pragma once
2
3/*====================================================================================
4*** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
5*** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
6*** ***
7*** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
8*** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
9*** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
10*** ***
11*** RESTRICTED RIGHTS LEGEND ***
12*** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
13*** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
14*** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
15*** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
16*** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
17*** ***
18*** COPYRIGHT (C) 1996-2024 BY FEI S.A.S, ***
19*** BORDEAUX, FRANCE ***
20*** ALL RIGHTS RESERVED ***
21**==================================================================================*/
22
23#include <Inventor/helpers/SbGraphicsCapabilities.h>
24#include <Inventor/SbString.h>
25#include <Inventor/SbVec.h>
26#include <Inventor/SbBase.h>
27
28
50{
51public:
52
55 {
57 CORE = 0x2
58 };
59
68
70 int getVersion() const;
71
74
77
79 const SbString& getRenderer() const;
80
83
85 int getMaxTextureSize() const;
86
89
92
95
97 int getMaxSamples() const;
98
100 friend std::ostream& operator<<(std::ostream& os, const SbGPUCapabilities& capabilities);
101
102private:
103
104 // protect from suspicious instancing
106
107 // OpenGL version
108 int m_version;
109
110 // GLContext profile
111 Profile m_profile;
112
113 // GPU Vendor
114 GpuVendor m_vendor;
115
116 // Name of renderer
117 SbString m_renderer;
118
119 // GL_MAX_VIEWPORT_DIMS
120 SbVec2i32 m_maxViewportSize;
121
122 // GL_MAX_TEXTURE_SIZE
123 int m_maxTextureSize;
124
125 // GL_MAX_3D_TEXTURE_SIZE
126 int m_max3DTextureSize;
127
128 // GL_MAX_VERTEX_ATTRIBS
129 int m_maxVertexAttribs;
130
131 // GL_MAX_TEXTURE_UNITS (i.e. max texture units for fixed pipeline)
132 int m_maxFixedPipelineTextureUnits;
133
134 // GL_MAX_SAMPLES
135 int m_maxSamplesMultiSampling;
136};
List of common graphics capabilities of the device used by a SoGLContext.
int getMax3DTextureSize() const
GL_MAX_3D_TEXTURE_SIZE.
int getMaxTextureSize() const
GL_MAX_TEXTURE_SIZE.
int getMaxFixedPipelineTextureUnits() const
GL_MAX_TEXTURE_UNITS (i.e.
const SbString & getRenderer() const
Renderer name.
int getVersion() const
OpenGL version.
friend std::ostream & operator<<(std::ostream &os, const SbGPUCapabilities &capabilities)
List capabilities in human readable format.
GpuVendor getGpuVendor() const
GPU vendor.
GpuVendor
enumeration of GPU vendor
Profile
enumeration of OpenGL profiles
Profile getProfile() const
GLContext profile.
const SbVec2i32 & getMaxViewportSize() const
GL_MAX_VIEWPORT_DIMS.
int getMaxVertexAttribs() const
GL_MAX_VERTEX_ATTRIBS.
int getMaxSamples() const
GL_MAX_SAMPLES (i.e.
List of common graphics capabilities set by Open Inventor.
Class for smart character strings.
Definition SbString.h:202
2D vector class.
Definition SbVec.h:517