On 6/5/06, Adam Jackson <ajackson@xxxxxxxxxx> wrote:
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.
The original Riva TNT 1 did have 2 texture sources per pixel (TNT meant twin texturing ;) and of course the ever popular 3dfx did also have 2 sources/pixel, so I think any interesting hardware we are likely to try AIGLX on will support both rectangles and multitexturing just fine. -- Greetz, Antonio Vargas aka winden of network -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list