Open CASCADE Technology 7.8.0
|
Class to define graphic driver capabilities. Notice that these options will be ignored if particular functionality does not provided by GL driver. More...
#include <OpenGl_Caps.hxx>
Data Fields | |
flags to disable particular functionality, should be used only for testing purposes! | |
Standard_Boolean | sRGBDisable |
Disables sRGB rendering (OFF by default) | |
Standard_Boolean | compressedTexturesDisable |
Disables uploading of compressed texture formats native to GPU (OFF by default) | |
Standard_Boolean | vboDisable |
disallow VBO usage for debugging purposes (OFF by default) | |
Standard_Boolean | pntSpritesDisable |
flag permits Point Sprites usage, will significantly affect performance (OFF by default) | |
Standard_Boolean | keepArrayData |
Disables freeing CPU memory after building VBOs (OFF by default) | |
Standard_Boolean | ffpEnable |
Enables FFP (fixed-function pipeline), do not use built-in GLSL programs (OFF by default) | |
Standard_Boolean | usePolygonMode |
Enables Polygon Mode instead of built-in GLSL programs (OFF by default; unsupported on OpenGL ES) | |
Standard_Boolean | useSystemBuffer |
Enables usage of system backbuffer for blitting (OFF by default on desktop OpenGL and ON on OpenGL ES for testing) | |
Standard_Integer | swapInterval |
controls swap interval - 0 for VSync off and 1 for VSync on, 1 by default | |
Standard_Boolean | useZeroToOneDepth |
use [0, 1] depth range instead of [-1, 1] range, when possible (OFF by default) | |
context creation parameters | |
Standard_Boolean | buffersNoSwap |
Standard_Boolean | buffersOpaqueAlpha |
Standard_Boolean | buffersDeepColor |
Standard_Boolean | contextStereo |
Standard_Boolean | contextDebug |
Standard_Boolean | contextSyncDebug |
Standard_Boolean | contextNoAccel |
Standard_Boolean | contextCompatible |
Standard_Boolean | contextNoExtensions |
Standard_Integer | contextMajorVersionUpper |
Standard_Integer | contextMinorVersionUpper |
Standard_Boolean | isTopDownTextureUV |
flags to activate verbose output | |
Standard_Boolean | glslWarnings |
Print GLSL program compilation/linkage warnings, if any. OFF by default. | |
Standard_Boolean | suppressExtraMsg |
Suppress redundant messages from debug GL context. ON by default. | |
OpenGl_ShaderProgramDumpLevel | glslDumpLevel |
Print GLSL program source code. OFF by default. | |
class methods | |
OpenGl_Caps () | |
Default constructor - initialize with most optimal values. | |
virtual | ~OpenGl_Caps () |
Destructor. | |
OpenGl_Caps & | operator= (const OpenGl_Caps &theCopy) |
Copy maker. | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. | |
virtual | ~Standard_Transient () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Static Public Member Functions inherited from Standard_Transient | |
static constexpr const char * | get_type_name () |
Returns a type descriptor about this object. | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. | |
Class to define graphic driver capabilities. Notice that these options will be ignored if particular functionality does not provided by GL driver.
OpenGl_Caps::OpenGl_Caps | ( | ) |
Default constructor - initialize with most optimal values.
|
virtual |
Destructor.
OpenGl_Caps & OpenGl_Caps::operator= | ( | const OpenGl_Caps & | theCopy | ) |
Copy maker.
Standard_Boolean OpenGl_Caps::buffersDeepColor |
Specify whether deep color format (10-bit per component / 30-bit RGB) should be used instead of standard color format (8-bit per component / 24-bit RGB) when available. Deep color provides higher accuracy within the same color range (sRGB) and doesn't enable wide color gamut / HDR support. Higher precision helps eliminating banding effect on smooth gradients.
Effect of the flag will vary depending on platform:
OFF by default.
Standard_Boolean OpenGl_Caps::buffersNoSwap |
Specify that driver should not swap back/front buffers at the end of frame. Useful when OCCT Viewer is integrated into existing OpenGL rendering pipeline as part, thus swapping part is performed outside.
OFF by default.
Standard_Boolean OpenGl_Caps::buffersOpaqueAlpha |
Specify whether alpha component within color buffer should be written or not. With alpha write enabled, background is considered transparent by default and overridden by alpha value of last drawn object (e.g. it could be opaque or not in case of transparent material). With alpha writes disabled, color buffer will be kept opaque.
ON by default.
Standard_Boolean OpenGl_Caps::compressedTexturesDisable |
Disables uploading of compressed texture formats native to GPU (OFF by default)
Standard_Boolean OpenGl_Caps::contextCompatible |
Request backward-compatible GL context. This flag requires support in OpenGL driver.
Backward-compatible profile includes deprecated functionality like FFP (fixed-function pipeline), and might be useful for compatibility with application OpenGL code.
Most drivers support all features within backward-compatibility profile, but some limit functionality to OpenGL 2.1 (e.g. OS X) when core profile is not explicitly requested.
Requires OpenGL 3.2+ drivers. Has no effect on OpenGL ES 2.0+ drivers (which do not provide FFP compatibility). Interacts with ffpEnable option, which should be disabled within core profile.
ON by default.
Standard_Boolean OpenGl_Caps::contextDebug |
Request debug GL context. This flag requires support in OpenGL driver.
When turned on OpenGL driver emits error and warning messages to provided callback (see OpenGl_Context - messages will be printed to standard output). Affects performance - thus should not be turned on by products in released state.
OFF by default.
Standard_Integer OpenGl_Caps::contextMajorVersionUpper |
Synthetically restrict upper version of OpenGL functionality to be used. Should be used for debugging purposes only!
(-1, -1) by default, which means no restriction.
Standard_Integer OpenGl_Caps::contextMinorVersionUpper |
Specify that driver should not swap back/front buffers at the end of frame. Useful when OCCT Viewer is integrated into existing OpenGL rendering pipeline as part, thus swapping part is performed outside.
OFF by default.
Standard_Boolean OpenGl_Caps::contextNoAccel |
Disable hardware acceleration.
This flag overrides default behavior, when accelerated context always preferred over software ones:
Software implementations are dramatically slower - should never be used.
OFF by default. Currently implemented only for Windows (WGL) and Mac OS X (Cocoa).
Standard_Boolean OpenGl_Caps::contextNoExtensions |
Disallow using OpenGL extensions. Should be used for debugging purposes only!
OFF by default.
Standard_Boolean OpenGl_Caps::contextStereo |
Request stereoscopic context (with Quad Buffer). This flag requires support in OpenGL driver.
OFF by default.
Standard_Boolean OpenGl_Caps::contextSyncDebug |
Request debug GL context to emit messages within main thread (when contextDebug is specified!).
Some implementations performs GL rendering within dedicated thread(s), in this case debug messages will be pushed from unknown thread making call stack useless, since it does not interconnected to application calls. This option asks GL driver to switch into synchronized implementation. Affects performance - thus should not be turned on by products in released state.
OFF by default.
Standard_Boolean OpenGl_Caps::ffpEnable |
Enables FFP (fixed-function pipeline), do not use built-in GLSL programs (OFF by default)
OpenGl_ShaderProgramDumpLevel OpenGl_Caps::glslDumpLevel |
Print GLSL program source code. OFF by default.
Standard_Boolean OpenGl_Caps::glslWarnings |
Print GLSL program compilation/linkage warnings, if any. OFF by default.
Standard_Boolean OpenGl_Caps::isTopDownTextureUV |
Define if 2D texture UV coordinates are defined top-down or bottom-up. FALSE by default.
Proper rendering requires image texture uploading and UV texture coordinates being consistent, otherwise texture mapping might appear vertically flipped. Historically, OCCT used image library loading images bottom-up, so that applications have to generate UV accordingly (flip V when necessary, V' = 1.0 - V).
Graphic driver now compares this flag with image layout reported by Image_PixMap::IsTopDown(), and in case of mismatch applies implicit texture coordinates conversion in GLSL program.
Standard_Boolean OpenGl_Caps::keepArrayData |
Disables freeing CPU memory after building VBOs (OFF by default)
Standard_Boolean OpenGl_Caps::pntSpritesDisable |
flag permits Point Sprites usage, will significantly affect performance (OFF by default)
Standard_Boolean OpenGl_Caps::sRGBDisable |
Disables sRGB rendering (OFF by default)
Standard_Boolean OpenGl_Caps::suppressExtraMsg |
Suppress redundant messages from debug GL context. ON by default.
Standard_Integer OpenGl_Caps::swapInterval |
controls swap interval - 0 for VSync off and 1 for VSync on, 1 by default
Standard_Boolean OpenGl_Caps::usePolygonMode |
Enables Polygon Mode instead of built-in GLSL programs (OFF by default; unsupported on OpenGL ES)
Standard_Boolean OpenGl_Caps::useSystemBuffer |
Enables usage of system backbuffer for blitting (OFF by default on desktop OpenGL and ON on OpenGL ES for testing)
Standard_Boolean OpenGl_Caps::useZeroToOneDepth |
use [0, 1] depth range instead of [-1, 1] range, when possible (OFF by default)
Standard_Boolean OpenGl_Caps::vboDisable |
disallow VBO usage for debugging purposes (OFF by default)