| '''OpenGL extension ARB.multisample |
| |
| This module customises the behaviour of the |
| OpenGL.raw.GLX.ARB.multisample to provide a more |
| Python-friendly API |
| |
| Overview (from the spec) |
| |
| This extension provides a mechanism to antialias all GL primitives: |
| points, lines, polygons, bitmaps, and images. The technique is to |
| sample all primitives multiple times at each pixel. The color |
| sample values are resolved to a single, displayable color each time |
| a pixel is updated, so the antialiasing appears to be automatic at |
| the application level. Because each sample includes depth and |
| stencil information, the depth and stencil functions perform |
| equivalently to the single-sample mode. |
| |
| An additional buffer, called the multisample buffer, is added to |
| the framebuffer. Pixel sample values, including color, depth, and |
| stencil values, are stored in this buffer. When the framebuffer |
| includes a multisample buffer, it does not also include separate |
| depth or stencil buffers, even if the multisample buffer does not |
| store depth or stencil values. Color buffers (left/right, front/ |
| back, and aux) do coexist with the multisample buffer, however. |
| |
| Multisample antialiasing is most valuable for rendering polygons, |
| because it requires no sorting for hidden surface elimination, and |
| it correctly handles adjacent polygons, object silhouettes, and |
| even intersecting polygons. If only points or lines are being |
| rendered, the "smooth" antialiasing mechanism provided by the base |
| GL may result in a higher quality image. This extension is |
| designed to allow multisample and smooth antialiasing techniques |
| to be alternated during the rendering of a single scene. |
| |
| The official definition of this extension is available here: |
| http://www.opengl.org/registry/specs/ARB/multisample.txt |
| ''' |
| from OpenGL import platform, constant, arrays |
| from OpenGL import extensions, wrapper |
| import ctypes |
| from OpenGL.raw.GLX import _types, _glgets |
| from OpenGL.raw.GLX.ARB.multisample import * |
| from OpenGL.raw.GLX.ARB.multisample import _EXTENSION_NAME |
|
|
| def glInitMultisampleARB(): |
| '''Return boolean indicating whether this extension is available''' |
| from OpenGL import extensions |
| return extensions.hasGLExtension( _EXTENSION_NAME ) |
|
|
|
|
| |