phoenix_title wx.glcanvas.GLContextAttrs

This class is used for setting context attributes.

Since OpenGL version 3.0 the ARB adds attributes time to time to the rendering context functionality. wxWidgets implements attributes up to OGL 4.5, but you can set new attributes by using AddAttribute and AddAttribBits functions inherited from the base wx.glcanvas.GLAttribsBase class.

Attributes can be chained. For example:

cxtAttrs = wx.GLContextAttrs()
cxtAttrs.CoreProfile().OGLVersion(4, 5).Robust().ResetIsolation().EndList()

Notice that EndList must be used as the last attribute. Not adding it will likely result in nothing displayed at all.

New in version 4.1/wxWidgets-3.1.0.


class_hierarchy Class Hierarchy

Inheritance diagram for class GLContextAttrs:

method_summary Methods Summary

CompatibilityProfile

Request a type of context with all OpenGL features from version 1.0 to the newest available by the GPU driver.

CoreProfile

Request an OpenGL core profile for the context.

DebugCtx

Request debugging functionality.

ES2

Request an ES or ES2 (“Embedded Subsystem”) context.

EndList

The set of attributes must end with this one; otherwise, the GPU may display nothing at all.

ForwardCompatible

Request a forward-compatible context.

LoseOnReset

With robustness enabled, if graphics reset happens, all context state is lost.

MajorVersion

Request specific OpenGL core major version number (>= 3).

MinorVersion

Request specific OpenGL core minor version number.

NoResetNotify

With robustness enabled, never deliver notification of reset events.

OGLVersion

An easy way of requesting an OpenGL version.

PlatformDefaults

Set platform specific defaults.

ReleaseFlush

Request OpenGL to avoid or not flushing pending commands when the context is made no longer current (released).

ResetIsolation

Request OpenGL to protect other applications or shared contexts from reset side-effects.

Robust

Request robustness, or how OpenGL handles out-of-bounds buffer object accesses and graphics reset notification behaviours.


api Class API

class wx.glcanvas.GLContextAttrs(GLAttribsBase)

This class is used for setting context attributes.


Methods

CompatibilityProfile(self)

Request a type of context with all OpenGL features from version 1.0 to the newest available by the GPU driver.

In this mode the GPU may be some slower than it would be without this compatibility attribute.

Return type

wx.glcanvas.GLContextAttrs



CoreProfile(self)

Request an OpenGL core profile for the context.

If the requested OpenGL version is less than 3.2, this attribute is ignored and the functionality of the context is determined solely by the requested version.

Return type

wx.glcanvas.GLContextAttrs



DebugCtx(self)

Request debugging functionality.

This tells OpenGL to prepare a set where some logs are enabled and also allows OGL to send debug messages through a callback function.

It has no effect under macOS.

Return type

wx.glcanvas.GLContextAttrs



ES2(self)

Request an ES or ES2 (“Embedded Subsystem”) context.

These are special subsets of OpenGL, lacking some features of the full specification. Used mainly in embedded devices such as mobile phones.

It has no effect under macOS.

Return type

wx.glcanvas.GLContextAttrs



EndList(self)

The set of attributes must end with this one; otherwise, the GPU may display nothing at all.



ForwardCompatible(self)

Request a forward-compatible context.

Forward-compatible contexts are defined only for OpenGL versions 3.0 and later. They must not support functionality marked as deprecated or removed by the requested version of the OpenGL API.

It has no effect under macOS.

Return type

wx.glcanvas.GLContextAttrs



LoseOnReset(self)

With robustness enabled, if graphics reset happens, all context state is lost.

It has no effect under macOS.

Return type

wx.glcanvas.GLContextAttrs



MajorVersion(self, val)

Request specific OpenGL core major version number (>= 3).

Parameters

val (int) – The major version number requested.

Return type

wx.glcanvas.GLContextAttrs

CoreProfile will result in using OpenGL version at least 3.2.



MinorVersion(self, val)

Request specific OpenGL core minor version number.

Parameters

val (int) – The minor version number requested, e.g. 2 if OpenGL 3.2 is requested.

Return type

wx.glcanvas.GLContextAttrs

CoreProfile will result in using OpenGL version at least 3.2.



NoResetNotify(self)

With robustness enabled, never deliver notification of reset events.

It has no effect under macOS.

Return type

wx.glcanvas.GLContextAttrs



OGLVersion(self, vmayor, vminor)

An easy way of requesting an OpenGL version.

Parameters
  • vmayor (int) – The major version number requested, e.g. 4 if OpenGL 4.5 is requested.

  • vminor (int) – The minor version number requested, e.g. 5 if OpenGL 4.5 is requested.

Return type

wx.glcanvas.GLContextAttrs

CoreProfile will result in using OpenGL version at least 3.2.



PlatformDefaults(self)

Set platform specific defaults.

Currently only Unix defaults are implemented: use X11 direct rendering and use X11 RGBA type.

Return type

wx.glcanvas.GLContextAttrs



ReleaseFlush(self, val=1)

Request OpenGL to avoid or not flushing pending commands when the context is made no longer current (released).

If you don’t specify this attribute, the GPU driver default is ‘flushing’.

Parameters

val (int) – 0 for not flushing, 1 (wxWidgets default) for flushing pending commands.

Return type

wx.glcanvas.GLContextAttrs



ResetIsolation(self)

Request OpenGL to protect other applications or shared contexts from reset side-effects.

It has no effect under macOS.

Return type

wx.glcanvas.GLContextAttrs



Robust(self)

Request robustness, or how OpenGL handles out-of-bounds buffer object accesses and graphics reset notification behaviours.

It has no effect under macOS.

Return type

wx.glcanvas.GLContextAttrs