Optimal depth buffer for low-cost graphics hardware

Eugene Lapidous, Guofang Jiao
{"title":"Optimal depth buffer for low-cost graphics hardware","authors":"Eugene Lapidous, Guofang Jiao","doi":"10.1145/311534.311579","DOIUrl":null,"url":null,"abstract":"3D applications using hardware depth buffers for visibility testing are confronted with multiple choices of buffer types, sizes and formats. Some of the options are not exposed through 3D API or may be used by the driver without application’s knowledge. As a result, it becomes increasingly diffkult to select depth buffer optimal for desired balance between performance and precision. In this paper we provide comparative evaluation of depth precision for main depth buffer types with different size and format combinations. Results indicate that integer storage is preferred for some buffer types, while others achieve maximal depth resolution with floating-point format optimized for known scene parameters. We propose to give 3D applications full control of the depth buffer optimization by supporting multiple storage formats with the same buffer size and exposing them in 3D API. In the search for a unified depth buffer solution, we describe new type of the depth buffer and compare it with other options. Complementary floating-point Z buffer is a combination of a reversed-direction Z buffer and an optimal floating-point storage format. Non-linear mapping and storage format compensate each other’s effect on the depth precision; as a result, depth errors become significantly less dependent on the eye-space distance, improving depth resolution by the orders of magnitude in comparison with standard Z buffer. Results show that complementary Z buffer is also superior to inverse W buffer at any storage size. At 16 and 24 bits/pixel, average depth errors of complementary Z buffer remain 2 times larger than for true W buffer utilizing expensive high-precision per-pixel division. However, it provides absolutely best precision at 32 bits/pixel, when errors are limited by floating-point per-vertex input. Results suggest that complementary floating-point Z buffer can be considered as a candidate for replacement of both screen Z and inverse W buffers, at the same time making hardware investment in the true W buffer support less attractive. CR","PeriodicalId":298241,"journal":{"name":"Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware","volume":"30 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1999-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"23","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/311534.311579","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 23

Abstract

3D applications using hardware depth buffers for visibility testing are confronted with multiple choices of buffer types, sizes and formats. Some of the options are not exposed through 3D API or may be used by the driver without application’s knowledge. As a result, it becomes increasingly diffkult to select depth buffer optimal for desired balance between performance and precision. In this paper we provide comparative evaluation of depth precision for main depth buffer types with different size and format combinations. Results indicate that integer storage is preferred for some buffer types, while others achieve maximal depth resolution with floating-point format optimized for known scene parameters. We propose to give 3D applications full control of the depth buffer optimization by supporting multiple storage formats with the same buffer size and exposing them in 3D API. In the search for a unified depth buffer solution, we describe new type of the depth buffer and compare it with other options. Complementary floating-point Z buffer is a combination of a reversed-direction Z buffer and an optimal floating-point storage format. Non-linear mapping and storage format compensate each other’s effect on the depth precision; as a result, depth errors become significantly less dependent on the eye-space distance, improving depth resolution by the orders of magnitude in comparison with standard Z buffer. Results show that complementary Z buffer is also superior to inverse W buffer at any storage size. At 16 and 24 bits/pixel, average depth errors of complementary Z buffer remain 2 times larger than for true W buffer utilizing expensive high-precision per-pixel division. However, it provides absolutely best precision at 32 bits/pixel, when errors are limited by floating-point per-vertex input. Results suggest that complementary floating-point Z buffer can be considered as a candidate for replacement of both screen Z and inverse W buffers, at the same time making hardware investment in the true W buffer support less attractive. CR
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
低成本图形硬件的最佳深度缓冲
使用硬件深度缓冲进行可见性测试的3D应用程序面临着缓冲类型、大小和格式的多种选择。一些选项没有通过3D API公开,或者可能在应用程序不知情的情况下被驱动程序使用。因此,在性能和精度之间选择最佳深度缓冲区变得越来越困难。本文对不同大小和格式组合的主要深度缓冲区类型的深度精度进行了比较评价。结果表明,对于某些缓冲区类型,整数存储是首选的,而其他缓冲区类型则使用针对已知场景参数优化的浮点格式来实现最大深度分辨率。我们建议通过支持具有相同缓冲区大小的多种存储格式并将其暴露在3D API中,从而使3D应用程序完全控制深度缓冲区优化。在寻找统一的深度缓冲区解决方案的过程中,我们描述了一种新的深度缓冲区,并将其与其他方案进行了比较。互补浮点Z缓冲区是反向Z缓冲区和最佳浮点存储格式的组合。非线性映射和存储格式相互补偿对深度精度的影响;因此,深度误差对眼距的依赖程度大大降低,与标准Z缓冲区相比,深度分辨率提高了几个数量级。结果表明,在任何存储大小下,互补型Z缓冲都优于逆型W缓冲。在16和24位/像素时,互补Z缓冲区的平均深度误差仍然比使用昂贵的高精度逐像素分割的真W缓冲区大2倍。然而,当错误受到每个顶点浮点数输入的限制时,它在32位/像素时提供了绝对最好的精度。结果表明,互补的浮点Z缓冲区可以被认为是替代屏幕Z和反向W缓冲区的候选对象,同时使对真W缓冲区支持的硬件投资不那么有吸引力。CR
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Tiled polygon traversal using half-plane edge functions Hybrid sort-first and sort-last parallel rendering with a cluster of PCs Towards interactive bump mapping with anisotropic shift-variant BRDFs The RACE II engine for real-time volume rendering Single-pass full-screen hardware accelerated antialiasing
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1