Antonio Vargas wrote:
The usual real-time way is to render the original to a texture, generate mipmaps for the texture and then use texture-bias so that you paint into the screen a lower-resolution texture before overlaying the translucent item. Notice that this does not need any pixel shader, just a fast mipmap generator (depends on the driver support), or even if this is not provided, then use multitexturing to implement a box-filter yourself: you can get 4 samples/pixel with each texture source by sampling the original pixels with a (+0.5,+0.5) difference in (U,V) coordinates
Cute trick! I think right now we're not doing hardware mipmap generation, though it wouldn't be hard to add in principle. The mipmap control code in Mesa could use a little work anyway, if someone's looking for a relatively easy project to take on.
Even if we were, though, almost all of our textures are non-power-of-two, and the intersection of the sets of (hardware without pixel shaders) and (hardware that can do mipmapped rectangular textures) is pretty small, so it might be difficult to get this to work acceptably with just plain mipmapping. However, pretty much all hardware that can do EXT_texture_rectangle can also multitexture so that'd be an option too, the only exception I know of is the Intel i740 which we don't have a driver for anyway.
- ajax -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list