home *** CD-ROM | disk | FTP | other *** search
- '''OpenGL extension ARB.multisample
-
- 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://oss.sgi.com/projects/ogl-sample/registry/ARB/multisample.txt
-
- Automatically generated by the get_gl_extensions script, do not edit!
- '''
- from OpenGL import platform, constants, constant, arrays
- from OpenGL import extensions
- from OpenGL.GL import glget
- import ctypes
- EXTENSION_NAME = 'GL_ARB_multisample'
- GL_MULTISAMPLE_ARB = constant.Constant( 'GL_MULTISAMPLE_ARB', 0x809D )
- glget.addGLGetConstant( GL_MULTISAMPLE_ARB, (1,) )
- GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = constant.Constant( 'GL_SAMPLE_ALPHA_TO_COVERAGE_ARB', 0x809E )
- glget.addGLGetConstant( GL_SAMPLE_ALPHA_TO_COVERAGE_ARB, (1,) )
- GL_SAMPLE_ALPHA_TO_ONE_ARB = constant.Constant( 'GL_SAMPLE_ALPHA_TO_ONE_ARB', 0x809F )
- glget.addGLGetConstant( GL_SAMPLE_ALPHA_TO_ONE_ARB, (1,) )
- GL_SAMPLE_COVERAGE_ARB = constant.Constant( 'GL_SAMPLE_COVERAGE_ARB', 0x80A0 )
- glget.addGLGetConstant( GL_SAMPLE_COVERAGE_ARB, (1,) )
- GL_SAMPLE_BUFFERS_ARB = constant.Constant( 'GL_SAMPLE_BUFFERS_ARB', 0x80A8 )
- glget.addGLGetConstant( GL_SAMPLE_BUFFERS_ARB, (1,) )
- GL_SAMPLES_ARB = constant.Constant( 'GL_SAMPLES_ARB', 0x80A9 )
- glget.addGLGetConstant( GL_SAMPLES_ARB, (1,) )
- GL_SAMPLE_COVERAGE_VALUE_ARB = constant.Constant( 'GL_SAMPLE_COVERAGE_VALUE_ARB', 0x80AA )
- glget.addGLGetConstant( GL_SAMPLE_COVERAGE_VALUE_ARB, (1,) )
- GL_SAMPLE_COVERAGE_INVERT_ARB = constant.Constant( 'GL_SAMPLE_COVERAGE_INVERT_ARB', 0x80AB )
- glget.addGLGetConstant( GL_SAMPLE_COVERAGE_INVERT_ARB, (1,) )
- GL_MULTISAMPLE_BIT_ARB = constant.Constant( 'GL_MULTISAMPLE_BIT_ARB', 0x20000000 )
- glSampleCoverageARB = platform.createExtensionFunction(
- 'glSampleCoverageARB', dll=platform.GL,
- extension=EXTENSION_NAME,
- resultType=None,
- argTypes=(constants.GLclampf, constants.GLboolean,),
- doc = 'glSampleCoverageARB( GLclampf(value), GLboolean(invert) ) -> None',
- argNames = ('value', 'invert',),
- )
-
-
- def glInitMultisampleARB():
- '''Return boolean indicating whether this extension is available'''
- return extensions.hasGLExtension( EXTENSION_NAME )
-