what ARB_seamless_cube_map is for?

I’ve read the GL_ARB_seamless_cube_map extension specification document but I couldn’t understand very well what it does.

As I understood, the extension provides the ability to perform automatic mipmapping on cubemaps, right? This would be useful for creating diffuse and reflection cubemaps in realtime. But I couldn’t think of more uses for this extension.

Perhaps, this extension also allows the GPU to perform correct linear filtering on cube shadowmaps?

Seamless cubemap allows bilinear samples to be taken across cubemap face boundaries. Consider a cube map that had a black bottom and top (floor and ceiling) and white front, back, left and right (walls). If you take a sample very close to the border between the ‘floor’ and a ‘wall’, without seamless cubemapping, that sample would either be black OR white, regardless of the MAG_FILTER or MIN_FILTER settings. If seamless cubemapping is enabled, you’ll get a gradual fade through gray from black to white.

This is particularly useful for environment mapping where the content of the cubemap is often smooth, low frequency data. Without seamless cubemaps, you’d likely see seams in the textured object.

Cheers,

Graham

Great explanation, thanks~

Like LanFox said, that was a great explanation. Thanks!

One more question, what is the current support for bilinear filtering on cube shadowmaps? Nvidia as always supported bilinear filtering on 2D shadowmaps but if I recall they didn’t supported it on cube shadowmaps, right?. With this extension, and the support for cube shadowmap filtering, we could finaly have top quality 360 degree shadows for point lights.

Hi,

if “bilinear filtering”==pcf, then this has been supported on our hardware since r6xx.

regards,

Pierre B.
AMD Fellow

“bilinear filtering” != PCF. Though you might consider the latter a subset of the former, if you allow shadow depth comparisons in the sampling.

Are you trying to say that ATI has supported cross-face cube-map filtering of depth cube maps since r6xx?

Yes, I was talking about PCF. I know NVIDIA as support for cube shadowmaps, but I have the impression that they don’t support PCF on cube shadow maps. Perhaps the most recent Nvidia hardware already supports it?