摘要
目的针对全球大场景渲染中单精度浮点数的低精度导致的图像抖动和撕裂问题,提出了一套完整的解决方法。方法首先,使用全球四叉树结构来寻找新的坐标原点,避免了现有算法需要频繁切换世界坐标原点的缺点;其次,在新坐标系下进行坐标转换和矩阵转换,解决了像素坐标计算的误差导致的抖动问题;最后,在GPU中使用基于对数的深度计算方式来提高深度的分辨率,解决了深度计算误差导致的Z-Fighting现象。结果实验结果表明所提方法能很好地解决单精度浮点导致的渲染问题。结论此方法具有适应性强、实现复杂度低、精度和效率可控等优点。
Objective To solve the jitter and tear problems caused by single-precision floating-point errors in global scene rendering, a complete set of solutions is presented. Method First, a new coordinate origins is found by using the global quad-tree structure, avoiding the disadvantages of switching coordinate origins frequently; Second, the jitter problem is solved by transforming the coordinate and matrix in the new coordinate system; finally, the depth resolution is improved by using logarithmic calculation on the GPU, and the Z-Fighting problem is solved. Result The experiment results show that the proposed method can be a good solution to the problem caused by single-precision floating-point errors. Conclusion It has strong adaptability, low complexity, and it is controllable with accuracy and efficiency advantages.
出处
《中国图象图形学报》
CSCD
北大核心
2014年第1期119-125,共7页
Journal of Image and Graphics
基金
国家自然科学基金项目(61070124)
安徽省自然科学基金项目(1208085MF107)
安徽省高等学校省级自然科学研究重点项目(KJ2012A221)
关键词
全球场景
GPU渲染
变坐标
全球四叉树
深度计算
global scene
GPU rendering
dynamic coordinate system
global quad-tree
depth calculation