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

NAME

6       glHistogram - define histogram table
7

C SPECIFICATION

9       void glHistogram(GLenum target, GLsizei width, GLenum internalformat,
10                        GLboolean sink);
11

PARAMETERS

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

DESCRIPTION

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

NOTES

68       glHistogram is present only if ARB_imaging is returned when
69       glGetString() is called with an argument of GL_EXTENSIONS.
70

ERRORS

72       GL_INVALID_ENUM is generated if target is not one of the allowable
73       values.
74
75       GL_INVALID_VALUE is generated if width is less than zero or is not a
76       power of 2.
77
78       GL_INVALID_ENUM is generated if internalformat is not one of the
79       allowable values.
80
81       GL_TABLE_TOO_LARGE is generated if target is GL_HISTOGRAM and the
82       histogram table specified is too large for the implementation.
83
84       GL_INVALID_OPERATION is generated if glHistogram is executed between
85       the execution of glBegin() and the corresponding execution of glEnd().
86

ASSOCIATED GETS

88       glGetHistogramParameter()
89

SEE ALSO

91       glGetHistogram(), glResetHistogram()
92
94       Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed
95       under the SGI Free Software B License. For details, see
96       http://oss.sgi.com/projects/FreeB/.
97

AUTHORS

99       opengl.org
100
101
102
103opengl.org                        07/13/2018                   GLHISTOGRAM(3G)
Impressum