downsampling floating-point NPOT textures

Does anyone have any recommendations for downsampling NPOT textures? Mipmapping isn’t supported for these, which would be the easy way to do it. Yes, I’m interested in using this for tone mapping and other effects associated with scenes prerendered to floating-point NPOT textures.


I think mipmapping is indeed supported for NPOT textures, also for float16 textures. AFAIK the nvidia 6 cards do support this. Mipmapping for NPOT should be described in one of the extension specs, so you could read there how it should be done, there should even be some formulas there how mipmaps are handled and generated the right way.

Yes, mipmaps ARE supported for NPOT textures. NPOT-textures can do everything POT-texture can do, that´s the nice thing about this spec.

What you mean are rectangle-textures. Those don´t support mipmapping (and several other things).


The fastest way to downsample a rectangle texture is using a fragment program. Just create a smaller texture as an output and draw a box-filtered fullscreen rectangle with the large texture on it.

Yes, you’re right, I meant rectangular textures.