ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



GLHISTOGRAM(3G)                                                                              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
                       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   of  the histogram table includes luminance, then the index derived from the R color compo-nent component
       nent determines the luminance table entry to be incremented.)  If a histogram table entry  is  incre-mented incremented
       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 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  specified 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 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 information as if the histogram ta-ble table
       ble were to be redefined, but does not actually define the new table.  If the requested histogram ta-ble table
       ble  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 parameters 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 execution of glEnd.

ASSOCIATED GETS
       glGetHistogramParameter

SEE ALSO
       glGetHistogram(3G), glResetHistogram(3G)




                                                                                             GLHISTOGRAM(3G)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.