1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
'''OpenGL extension EXT.sRGB
This module customises the behaviour of the
OpenGL.raw.GLES1.EXT.sRGB to provide a more
Python-friendly API
Overview (from the spec)
The sRGB color space is based on typical (non-linear) response of the human
eye. It has been standardized by the International Electrotechnical
Commission (IEC) as IEC 61966-2-1. The transfer function of sRGB roughly
corresponds to a power function with a gamma of 2.2.
FRAMEBUFFERS
OpenGL assumes framebuffer color components are stored in a linear color
space. In particular, framebuffer blending is a linear operation.
This extension adds a framebuffer capability for sRGB framebuffer update
and blending. When blending is disabled but the new sRGB updated mode is
enabled (assume the framebuffer supports the capability), high-precision
linear color component values for red, green, and blue generated by
fragment coloring are encoded for sRGB prior to being written into the
framebuffer. When blending is enabled along with the new sRGB update mode,
red, green, and blue framebuffer color components are treated as sRGB
values that are converted to linear color values, blended with the high-
precision color values generated by fragment coloring, and then the blend
result is encoded for sRGB just prior to being written into the
framebuffer.
TEXTURES
Conventional texture formats assume a linear color space. So for a
conventional internal texture format such as GL_RGB8, the 256 discrete
values for each 8-bit color component map linearly and uniformly to the
[0,1] range.
The official definition of this extension is available here:
http://www.opengl.org/registry/specs/EXT/sRGB.txt
'''
from OpenGL import platform, constant, arrays
from OpenGL import extensions, wrapper
import ctypes
from OpenGL.raw.GLES1 import _types, _glgets
from OpenGL.raw.GLES1.EXT.sRGB import *
from OpenGL.raw.GLES1.EXT.sRGB import _EXTENSION_NAME
def glInitSrgbEXT():
'''Return boolean indicating whether this extension is available'''
from OpenGL import extensions
return extensions.hasGLExtension( _EXTENSION_NAME )
### END AUTOGENERATED SECTION
|