skia / external / github.com / KhronosGroup / OpenGL-Registry / 5f3fea090d8df5638b6df385c8b431f51b284651 / . / extensions / EXT / WGL_EXT_depth_float.txt

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 |