Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ glhistogramext(3G) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought



glHistogramEXT(3G)             OpenGL Reference             glHistogramEXT(3G)



NAME
     glHistogramEXT - define histogram table


C SPECIFICATION
     void glHistogramEXT( GLenum target,
                          GLsizei width,
                          GLenum internalformat,
                          GLboolean sink )


PARAMETERS
     target          The histogram whose parameters are to be set.  Must be
                     one of GLHISTOGRAMEXT or GLPROXYHISTOGRAMEXT.

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

     internalformat  The format of entries in the histogram table.  Must be
                     one of GLALPHA, GLALPHA4EXT, GLALPHA8EXT,
                     GLALPHA12EXT, GLALPHA16EXT, GLLUMINANCE,
                     GLLUMINANCE4EXT, GLLUMINANCE8EXT, GLLUMINANCE12EXT,
                     GLLUMINANCE16EXT, GLLUMINANCEALPHA,
                     GLLUMINANCE4ALPHA4EXT, GLLUMINANCE6ALPHA2EXT,
                     GLLUMINANCE8ALPHA8EXT, GLLUMINANCE12ALPHA4EXT,
                     GLLUMINANCE12ALPHA12EXT, GLLUMINANCE16ALPHA16EXT,
                     GLRGB, GLRGB2EXT, GLRGB4EXT, GLRGB5EXT,
                     GLRGB8EXT, GLRGB10EXT, GLRGB12EXT, GLRGB16EXT,
                     GLRGBA, GLRGBA2EXT, GLRGBA4EXT, GLRGB5A1EXT,
                     GLRGBA8EXT, GLRGB10A2EXT, GLRGBA12EXT, or
                     GLRGBA16EXT.

     sink            If GLTRUE, pixels will be consumed by the histogramming
                     process and no drawing or texture loading will take
                     place.  If GLFALSE, pixels will proceed to the minmax
                     process after histogramming.

DESCRIPTION
     Histogramming is part of the OpenGL pixel transfer process.  It takes
     place immediately after index lookup.  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 GLHISTOGRAMEXT 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 format 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



                                                                        Page 1





glHistogramEXT(3G)             OpenGL Reference             glHistogramEXT(3G)



     an error.)

     When target is GLHISTOGRAMEXT, glHistogramEXT redefines the current
     histogram table to have width entries of the format 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 GLTRUE, 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 GLPROXYHISTOGRAMEXT, glHistogramEXT computes all state
     information as if the histogram table was to be redefined, 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
     parameters can be supported.

     The histogram state information may be queried by calling
     glGetHistogramParameterEXT with a target of GLHISTOGRAMEXT (to obtain
     information for the current histogram table) or GLPROXYHISTOGRAMEXT
     (to obtain information from the most recent proxy request) and one of the
     following values for the pname argument:

    Parameter                         Description
    ___________________________________________________________________________
    GLHISTOGRAMWIDTHEXT            Histogram table width
    GLHISTOGRAMFORMATEXT           Internal format
    GLHISTOGRAMREDSIZEEXT         Red component counter size, in bits
    GLHISTOGRAMGREENSIZEEXT       Green component counter size, in bits
    GLHISTOGRAMBLUESIZEEXT        Blue component counter size, in bits
    GLHISTOGRAMALPHASIZEEXT       Alpha component counter size, in bits
    GLHISTOGRAMLUMINANCESIZEEXT   Luminance component counter size, in bits
    GLHISTOGRAMSINKEXT             Value of the sink parameter

ERRORS
     GLINVALIDENUM is generated if target is not one of the allowable
     values.

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

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

     GLTABLETOOLARGEEXT is generated if target is GLHISTOGRAMEXT and the
     histogram table specified is too large for the implementation.

     GLINVALIDOPERATION is generated if glHistogramEXT is executed between
     the execution of glBegin and the corresponding execution of glEnd.






                                                                        Page 2





glHistogramEXT(3G)             OpenGL Reference             glHistogramEXT(3G)



ASSOCIATED GETS
     glGetHistogramParameterEXT.


MACHINE DEPENDENCIES
     On RealityEngine, RealityEngine2, and VTX systems, histogram and minmax
     may not be used when rendering to pixmaps.


SEE ALSO
     glGetHistogramEXT, glResetHistogramEXT.












































                                                                        Page 3



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026