071031 / Cubemap Mipmap Seams

previous | next

The left shows a low level of the mipmap for a cubemap. Note the very sharp boundaries between the sides of the cubemap. The right shows a relatively fast and makeshift workaround by setting all the edge pixels to the average. See the optical illusion where it looks as if there is an extra dark and light band in the filtered area, this is caused by the change in rate of gradient do to the flat 2 pixel matching borders.

I knew seams on my dynamic mipmaped cubemap would be a problem. I've finished a quick workaround, which readers the seams for all mipmap levels and all faces into one FBO, then does a series of glCopyTexSubImage2D() from the FBO to correct the texture. It is fast but far from perfect, a bandaid for something which truly doesn't have a good solution. Might have to better the seams by feathering the average out over more than one pixel.

Updates on the Status of OpenGL SM4.0 Driver Support

I was quite surprised to find out that AMD/ATI's current Windows (and Linux) drivers for their new R600/HD2xxx cards have absolutely no SM4.0 support and are missing SM3.0 vertex texture fetch support! Somewhat like sending a Porsche to the customer without a transmission. So no AMD/ATI support for Atom until they bring their GL driver to the 21st century.

However, Apple on the other hand is making progress towards working SM4.0 support in MacOSX! Geometry shader and transform feedback are in the latest drivers, and Macbook Pros are shipping with NVidia 8600 mobile GPUs. This just might make certain a native MacOSX port of Atom for release (and perhaps for alpha testing even before the Windows port is finished)!