MirBSD manpage: glHistogram(3)


GLHISTOGRAM(3G)     UNIX Programmer's Manual      GLHISTOGRAM(3G)

NAME

     glHistogram - define histogram table

C SPECIFICATION

     void glHistogram( GLenum target,
                       GLsizei width,
                       GLenum internalformat,
                       GLboolean sink )

PARAMETERS

     target          The histogram whose parameters are to be
                     set. Must be one of GL_HISTOGRAM or
                     GL_PROXY_HISTOGRAM.

     width           The number of entries in the histogram
                     table.  Must be a power of 2.

     internalformat  The  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.

     sink            If GL_TRUE, pixels will be consumed by the
                     histogramming process and no drawing or tex-
                     ture 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 con-
     verted 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
     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 incremented beyond its maximum value, then its value
     becomes undefined.  (This is not an error.)

MirBSD #10-current     Printed 2021-12-07                       1

GLHISTOGRAM(3G)     UNIX Programmer's Manual      GLHISTOGRAM(3G)

     Histogramming is performed only for RGBA pixels (though
     these may be specified originally as color indices and con-
     verted to RGBA by index table lookup). Histogramming is
     enabled with glEnable and disabled with glDisable.

     When target is GL_HISTOGRAM, glHistogram redefines the
     current histogram table to have width entries of the  speci-
     fied by internalformat. The entries are indexed 0 through
     width - 1, and all entries are initialized to zero. The
     values in the previous histogram table, if any, are lost. If
     sink is GL_TRUE, then pixels are discarded after histogram-
     ming; 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 information as if the histogram table were to be rede-
     fined, but does not actually define the new table. If the
     requested histogram table is too large to be supported, then
     the state information will be set to zero. This provides a
     way to determine if a histogram table with the given parame-
     ters can be supported.

NOTES

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

ERRORS

     GL_INVALID_ENUM is generated if target is not one of the
     allowable values.

     GL_INVALID_VALUE is generated if width is less than zero or
     is not a power of 2.

     GL_INVALID_ENUM is generated if internalformat is not one of
     the allowable values.

     GL_TABLE_TOO_LARGE is generated if target is GL_HISTOGRAM
     and the histogram 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 exe-
     cution of glEnd.

ASSOCIATED GETS

     glGetHistogramParameter

SEE ALSO

     glGetHistogram(3G), glResetHistogram(3G)

MirBSD #10-current     Printed 2021-12-07                       2

Generated on 2021-12-07 11:07:08 by $MirOS: src/scripts/roff2htm,v 1.103 2021/01/23 20:24:35 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2021 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.