Name

    EXT_depth_float

Name Strings

    WGL_EXT_depth_float

Version

    Date: 1/27/1999  Version 1.4

Number

    177

Dependencies

    WGL_EXT_extensions_string is required.
    WGL_EXT_pixel_format is required.

Overview

    For perspective scenes, the density of objects (vertices) increases
    as the distance from the eye increases.  For a linear depth buffer,
    this means that objects (vertices) are sparse for a large portion of
    the depth range and are dense for a small portion of the depth buffer.

    This behavior is obvious if you consider standing in a boat looking
    at the shore.  The near objects include only the boat while the far
    objects include the entire shoreline which may include an entire city.

    A non-linear (floating-point) depth buffer helps this problem.  If
    the near clipping plane is set to 1.0, and the far clipping plane is
    set to 0.0, a much greater resolution of objects can occur.

New Procedures and Functions

    None

New Tokens

    Accepted by the <attribute> parameter of wglGetPixelFormatAttribivEXT,
    wglGetPixelFormatAttribfvEXT, and wglChoosePixelFormatExEXT:

      WGL_DEPTH_FLOAT_EXT                  0x2040

Additions to Chapter 2 of the 1.2 Specification (OpenGL Operation)

    Each of n and f are clamped to lie within [0,1], as are all arguments
    of type clampd or clampf.  zw is taken to be represented in either
    fixed-point or floating-point depending on the attributes of the
    window.

    If the depth buffer is a fixed-point format, then zw is taken to be
    represented in fixed-point with at least as many bits as there are
    in the depth buffer of the framebuffer.  We assume that the fixed-point
    representation used represents each value k/(2^m - 1), where k is in
    the set {0,1,...,2^m - 1}, as k (e.g. 1.0 is represented in the binary
    as a string of all ones).

    If the depth buffer is a floating-point format, then zw is taken to be
    represented in floating-point with at least as many bits as there are
    in the depth buffer of the framebuffer.  The floating-point
    representation is implementation dependent.

Additions to Chapter 3 of the 1.2 Specification (Rasterization)

    None

Additions to Chapter 4 of the 1.2 Specification (Per-Fragment Operations and
the Framebuffer)

    None

Additions to Chapter 5 of the 1.2 Specification (Special Functions)

    None

Additions to Chapter 6 of the 1.2 Specification (State and State Requests)

    None

Additions to the WGL Specification

    None

Errors

    None

New State

    None

New Implementation Dependent State

    None
