1GLHISTOGRAM(3G) GLHISTOGRAM(3G)
2
3
4
6 glHistogram - define histogram table
7
8
10 void glHistogram( GLenum target,
11 GLsizei width,
12 GLenum internalformat,
13 GLboolean sink )
14
15
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
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
72 glHistogram is present only if GL_ARB_imaging is returned when
73 glGetString is called with an argument of GL_EXTENSIONS.
74
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
92 glGetHistogramParameter
93
95 glGetHistogram(3G), glResetHistogram(3G)
96
97
98
99 GLHISTOGRAM(3G)