back  Return to list

GL_ATI_texture_float
homeprevnext Name
 
    ATI_texture_float 
 
homeprevnext Name Strings
 
    GL_ATI_texture_float 
 
homeprevnext Contact
 
    Rob Mace, ATI Research (mace 'at' ati.com) 
 
homeprevnext Status
 
    Complete. 
 
homeprevnext Version
 
    Last Modified Date: December 4, 2002 
    Revision: 4 
 
homeprevnext Number
 
    280 
 
homeprevnext Dependencies
 
    OpenGL 1.1 or EXT_texture is required. 
 
    The extension is written against the OpenGL 1.3 Specification. 
 
 
homeprevnext Overview
 
    This extension adds texture internal formats with 32 and 16 bit 
    floating-point components.  The 32 bit floating-point components 
    are in the standard IEEE float format.  The 16 bit floating-point 
    components have 1 sign bit, 5 exponent bits, and 10 mantissa bits. 
    Floating-point components are clamped to the limits of the range 
    representable by their format. 
 
 
homeprevnext Issues
 
    1. Should we expose a GL_FLOAT16_ATI pixel type so that the 16 bit 
       float textures can be directly loaded? 
 
       RESOLUTION:  This will be exposed in a separate extension. 
 
 
homeprevnext New Procedures and Functions
 
   None 
 
 
homeprevnext New Tokens
 
    Accepted by the <internalFormat> parameter of TexImage1D, 
    TexImage2D, and TexImage3D: 
 
        RGBA_FLOAT32_ATI                 0x8814 
        RGB_FLOAT32_ATI                  0x8815 
        ALPHA_FLOAT32_ATI                0x8816 
        INTENSITY_FLOAT32_ATI            0x8817 
        LUMINANCE_FLOAT32_ATI            0x8818 
        LUMINANCE_ALPHA_FLOAT32_ATI      0x8819 
        RGBA_FLOAT16_ATI                 0x881A 
        RGB_FLOAT16_ATI                  0x881B 
        ALPHA_FLOAT16_ATI                0x881C 
        INTENSITY_FLOAT16_ATI            0x881D 
        LUMINANCE_FLOAT16_ATI            0x881E 
        LUMINANCE_ALPHA_FLOAT16_ATI      0x881F 
 
 
 
homeprevnext Additions to Chapter 2 of the OpenGL 1.3 Specification (OpenGL Operation)
 
    Add a new Section 2.1.2, (p. 6): 
 
      2.1.2  16 Bit Floating-Point 
 
      A 16 bit floating-point number has 1 sign bit (s), 5 exponent 
      bits (e), and 10 mantissa bits (m).  The value (v) of a 16 bit 
      floating-point number is determined by the following pseudo code: 
 
        if (e != 0) 
            v = (-1)^s * 2^(e-15) * 1.m  # normalized 
        else if (f == 0) 
            v = (-1)^s * 0               # zero 
        else 
            v = (-1)^s * 2^(e-14) * 0.m  # denormalized 
 
      It is acceptable for an implementation to treat denormalized 16 bit 
      floating-point numbers as zero. 
 
      There are no NAN or infinity values for 16 bit floating-point. 
 
 
homeprevnext Additions to Chapter 3 of the OpenGL 1.3 Specification (Rasterization)
 
    Section 3.8.1, (p. 116), change the last sentence on the page to: 
 
      Each R, G, B, and A value so generated is clamped based on the 
      component type in the <internalFormat>.  Fixed-point components 
      are clamped to [0, 1].  Floating-point components are clamped 
      to the limits of the range representable by their format.  32 
      bit floating- point components are in the standard IEEE float 
      format.  16 bit floating-point components have 1 sign bit, 5 
      exponent bits, and 10 mantissa bits. 
 
    Section 3.8.1, (p. 119), add the following to table 3.16: 
 
      Sized                       Base             R    G    B    A    L    I 
      Internal Format             Internal Format bits bits bits bits bits bits 
      --------------------------- --------------- ---- ---- ---- ---- ---- ---- 
      RGBA_FLOAT32_ATI            RGBA            f32  f32  f32  f32  
      RGB_FLOAT32_ATI             RGB             f32  f32  f32  
      ALPHA_FLOAT32_ATI           ALPHA                          f32 
      INTENSITY_FLOAT32_ATI       INTENSITY                                f32 
      LUMINANCE_FLOAT32_ATI       LUMINANCE                           f32 
      LUMINANCE_ALPHA_FLOAT32_ATI LUMINANCE_ALPHA                f32  f32 
      RGBA_FLOAT16_ATI            RGBA            f16  f16  f16  f16  
      RGB_FLOAT16_ATI             RGB             f16  f16  f16  
      ALPHA_FLOAT16_ATI           ALPHA                          f16 
      INTENSITY_FLOAT16_ATI       INTENSITY                                f16 
      LUMINANCE_FLOAT16_ATI       LUMINANCE                           f16 
      LUMINANCE_ALPHA_FLOAT16_ATI LUMINANCE_ALPHA                f16  f16 
 
 
homeprevnext Additions to Chapter 4 of the OpenGL 1.3 Specification (Per-Fragment Operations and the Frame Buffer)
 
    None 
 
 
homeprevnext Additions to Chapter 5 of the OpenGL 1.3 Specification (Special Functions)
 
    None 
 
 
homeprevnext Additions to Chapter 6 of the OpenGL 1.3 Specification (State and State Requests)
 
    None 
 
 
homeprevnext Errors
   
    None 
 
 
homeprevnext New State
 
    None 
 
 
homeprevnext New Implementation Dependent State
 
    None 
 
 
homeprevnext Revision History
 
   Date: 12/4/2002 
   Revision: 4 
      - Added Section 2.1.2 16 Bit Floating-Point. 
 
   Date: 9/11/2002 
   Revision: 3 
      - Changed description of float clamping to be consistent with 
        WGL_ATI_pixel_format_float. 
 
   Date: 9/6/2002 
   Revision: 2 
      - Changed unsigned integer components to fixed-point components. 
      - Resolved GL_FLOAT16_ATI issue. 
      - Cleaned up typos. 
 
   Date: 8/18/2002 
   Revision: 1 
      - First draft for circulation. 
 
 
 
Valid XHTML 1.1! Valid CSS! Last update: November 14, 2006.
Cette page doit être lue avec un navigateur récent respectant le standard XHTML 1.1.