“Angular Extent Filtering with Edge Fixup for Seamless Cubemap Filtering” by Isidoro and Mitchell
Conference:
Type(s):
Title:
- Angular Extent Filtering with Edge Fixup for Seamless Cubemap Filtering
Session/Category Title: GPU Rendering Tricks
Presenter(s)/Author(s):
Abstract:
We present a method for cubemap preprocessing which alleviates edge seam artifacts that occur with standard cubemap filtering methods. This approach works with current hardware since it does not require presently unavailable texture border hardware [1].
Despite the fact that cube maps are defined on the spherical do- main, standard cubemap filtering techniques perform filtering independently on each cube face [2]. The main problem with this approach is that no information is propagated across edges, creating undesirable discontinuities along the cube face edges. A limitation of nearly all cubemapping hardware which makes the seam problem substantially worse is the fact that the bilinear texel filtering is not able to fetch across cube faces thus producing a hard seam artifact in addition to introducing aliasing artifacts. These two compounding problems limit the usefulness of cubemapping.
Our filtering approach alleviates these problems using two techniques. The first, angular extent filtering, defines each tap’s filter kernel using an angular extent around the center tap as opposed to a fixed per-face pixel-based extent. The advantages of angular extent filtering are that the filter kernels used for all taps have a constant solid angle as well as the ability to pull texels from multiple faces. Additionally, the filtering takes into account the solid angle subtended by each tap in the filter. Also, by varying the angular extent of the filter used to generate the base miplevel, pre-convolved reflections for a variety of materials can be precomputed.
The second technique, edge seam fixup, uses a per miplevel seam averaging and smoothing algorithm in order to effectively hide the hard seam artifacts due to limitations of current cubemapping hardware. This enables even extremely low-resolution cubemap miplevels (even 2×2 and 4×4) to be directly used for tarnished metal shaders, matte surface shaders, and even for diffuse lighting.
References:
Ashikhmin, M. and Abhijeet, G. 2002. Simple Blurry Reflections with Environment Maps. In Journal of Graphics Tools, 7(4): 3–8.
Voorhies, D. and Foran, J. Reflection Vector Shading Hardware. SIGGRAPH 1994, pp 163–166