GLsizei widt )
PARAMETERS
target The histogram whose parameters are to be set. Must be one of
GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
widt The number of entries in the histogram table. Must be a power
of 2.
_param3 The format of entries in the histogram table. Must be one of
GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16,
GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12,
GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4,
GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8,
GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12,
GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5,
GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2,
GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or
GL_RGBA16.
_param4 If GL_TRUE, pixels will be consumed by the histogramming process
and no drawing or texture loading will take place. If GL_FALSE,
pixels will proceed to the minmax process after histogramming.
DESCRIPTION
When GL_HISTOGRAM is enabled, RGBA color components are converted to
histogram table indices by clamping to the range [0,1], multiplying by
the width of the histogram table, and rounding to the nearest integer.
The table entries selected by the RGBA indices are then incremented.
(If the internal format of the histogram table includes luminance, then
the index derived from the R color component determines the luminance
table entry to be incremented.) If a histogram table entry is incre‐
mented beyond its maximum value, then its value becomes undefined.
(This is not an error.)
Histogramming is performed only for RGBA pixels (though these may be
specified originally as color indices and converted to RGBA by index ta‐
ble lookup). Histogramming is enabled with glEnable and disabled with
glDisable.
When target is GL_HISTOGRAM, glHistogram redefines the current histogram
table to have widt entries of the format specified by _param3. The en‐
tries are indexed 0 through widt−1, and all entries are initialized to
zero. The values in the previous histogram table, if any, are lost. If
_param4 is GL_TRUE, then pixels are discarded after histogramming; no
further processing of the pixels takes place, and no drawing, texture
loading, or pixel readback will result.
When target is GL_PROXY_HISTOGRAM, glHistogram computes all state infor‐
mation as if the histogram table were to be redefined, but does not ac‐
tually define the new table. If the requested histogram table is too
large to be supported, then the state information will be set to zero.
GL_INVALID_ENUM is generated if _param3 is not one of the allowable val‐
ues.
GL_TABLE_TOO_LARGE is generated if target is GL_HISTOGRAM and the his‐
togram table specified is too large for the implementation.
GL_INVALID_OPERATION is generated if glHistogram is executed between the
execution of glBegin and the corresponding execution of glEnd.
ASSOCIATED GETS
glGetHistogramParameter
SEE ALSO
glGetHistogram, glResetHistogram
GLHISTOGRAM(3G)
Man(1) output converted with
man2html