OpenGL.GL.APPLE.row_bytes
index
/home/mcfletch/pylive/OpenGL/GL/APPLE/row_bytes.py

OpenGL extension APPLE.row_bytes
 
This module customises the behaviour of the 
OpenGL.raw.GL.APPLE.row_bytes to provide a more 
Python-friendly API
 
Overview (from the spec)
        
        The APPLE_row_bytes extension was developed to relax the limitations
        within GL regarding the packing and unpacking of pixel data from
        arbitrary arrangements in memory.
        
        Prior to this extension, similar, albeit more restrictive, functionality
        existed in GL using pixel storage modes for unpacking, packing, and
        alignment.  The limitation of the existing mechanism lies primarily in how
        packing or unpacking of data is specified with pixel atomicity rather than
        basic machine units.  To some extent, this pixel granularity can be
        overcome using pixel storage modes GL_UNPACK_ALIGNMENT and
        GL_PACK_ALIGNMENT.  Both of these parameters are specified in basic
        machine units but their range of possible values is restricted and even
        then they do not allow for the packing and unpacking of pixel data in a
        fully arbitrary manner.
        
        Consider this simple example:
        
            Consider a column of pixels in memory.  The pixels are of GL_RGB 
            format and GL_UNSIGNED_BYTE type resulting in 3 bytes per pixel.
            Now consider that this column of pixel data was arranged in memory
            such that each row of the image (in this case each pixel) has two
            bytes padding or space between them.
        
            Each row of 1 pixel then has 5 bytes.  An attempting to express this
            memory arrangement with existing pixel storage semantics would
            naturally start with a GL_UNPACK_ROW_LENGTH of 1 because there is
            one pixel per row.  However, no valid value of GL_UNPACK_ALIGNMENT,
            1, 2, 4, or 8, will allow the proper row padding to express this 
            memory arrangement.
 
The official definition of this extension is available here:
http://www.opengl.org/registry/specs/APPLE/row_bytes.txt

 
Modules
       
OpenGL.arrays
OpenGL.constant
OpenGL.constants
ctypes
OpenGL.extensions
OpenGL.GL.glget
OpenGL.platform
OpenGL.wrapper

 
Data
        EXTENSION_NAME = 'GL_APPLE_row_bytes'
GL_PACK_ROW_BYTES_APPLE = GL_PACK_ROW_BYTES_APPLE
GL_UNPACK_ROW_BYTES_APPLE = GL_UNPACK_ROW_BYTES_APPLE
__file__ = '/home/mcfletch/pylive/OpenGL/GL/APPLE/row_bytes.pyc'
__name__ = 'OpenGL.GL.APPLE.row_bytes'
__package__ = 'OpenGL.GL.APPLE'