1GLHISTOGRAM(3G)                                                GLHISTOGRAM(3G)
2
3
4

NAME

6       glHistogram - define histogram table
7
8

C SPECIFICATION

10       void glHistogram( GLenum target,
11                         GLsizei width,
12                         GLenum internalformat,
13                         GLboolean sink )
14
15

PARAMETERS

17       target          The  histogram whose parameters are to be set.  Must be
18                       one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
19
20       width           The number of entries in the histogram table.  Must  be
21                       a power of 2.
22
23       internalformat  The  of entries in the histogram table.  Must be one of
24                       GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16,
25                       GL_LUMINANCE,       GL_LUMINANCE4,       GL_LUMINANCE8,
26                       GL_LUMINANCE12,   GL_LUMINANCE16,   GL_LUMINANCE_ALPHA,
27                       GL_LUMINANCE4_ALPHA4,             GL_LUMINANCE6_ALPHA2,
28                       GL_LUMINANCE8_ALPHA8,            GL_LUMINANCE12_ALPHA4,
29                       GL_LUMINANCE12_ALPHA12,         GL_LUMINANCE16_ALPHA16,
30                       GL_R3_G3_B2,   GL_RGB,   GL_RGB4,   GL_RGB5,   GL_RGB8,
31                       GL_RGB10,   GL_RGB12,   GL_RGB16,   GL_RGBA,  GL_RGBA2,
32                       GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12,
33                       or GL_RGBA16.
34
35       sink            If  GL_TRUE,  pixels will be consumed by the histogram‐
36                       ming process and no drawing  or  texture  loading  will
37                       take  place.   If  GL_FALSE, pixels will proceed to the
38                       minmax process after histogramming.
39

DESCRIPTION

41       When GL_HISTOGRAM is enabled, RGBA color components  are  converted  to
42       histogram  table indices by clamping to the range [0,1], multiplying by
43       the width of the histogram table, and rounding to the nearest  integer.
44       The  table  entries  selected by the RGBA indices are then incremented.
45       (If the internal  of the histogram table includes luminance,  then  the
46       index derived from the R color component determines the luminance table
47       entry to be incremented.)  If a histogram table  entry  is  incremented
48       beyond  its  maximum value, then its value becomes undefined.  (This is
49       not an error.)
50
51       Histogramming is performed only for RGBA pixels (though  these  may  be
52       specified  originally  as  color indices and converted to RGBA by index
53       table lookup).  Histogramming is enabled  with  glEnable  and  disabled
54       with glDisable.
55
56       When  target  is  GL_HISTOGRAM,  glHistogram redefines the current his‐
57       togram table to have width entries of the  specified by internalformat.
58       The entries are indexed 0 through width−1, and all entries are initial‐
59       ized to zero.  The values in the previous histogram table, if any,  are
60       lost.   If  sink is GL_TRUE, then pixels are discarded after histogram‐
61       ming; no further processing of the pixels takes place, and no  drawing,
62       texture loading, or pixel readback will result.
63
64       When  target  is  GL_PROXY_HISTOGRAM,  glHistogram  computes  all state
65       information as if the histogram table were to be  redefined,  but  does
66       not actually define the new table.  If the requested histogram table is
67       too large to be supported, then the state information will  be  set  to
68       zero.   This  provides a way to determine if a histogram table with the
69       given parameters can be supported.
70

NOTES

72       glHistogram  is  present  only  if  GL_ARB_imaging  is  returned   when
73       glGetString is called with an argument of GL_EXTENSIONS.
74

ERRORS

76       GL_INVALID_ENUM is generated if target is not one of the allowable val‐
77       ues.
78
79       GL_INVALID_VALUE is generated if width is less than zero or  is  not  a
80       power of 2.
81
82       GL_INVALID_ENUM is generated if internalformat is not one of the allow‐
83       able values.
84
85       GL_TABLE_TOO_LARGE is generated if target is GL_HISTOGRAM and the  his‐
86       togram table specified is too large for the implementation.
87
88       GL_INVALID_OPERATION  is  generated  if glHistogram is executed between
89       the execution of glBegin and the corresponding execution of glEnd.
90

ASSOCIATED GETS

92       glGetHistogramParameter
93

SEE ALSO

95       glGetHistogram(3G), glResetHistogram(3G)
96
97
98
99                                                               GLHISTOGRAM(3G)
Impressum