Welcome, Guest. Please Login 3dfx Archive
 
  HomeHelpSearchLogin  
 
Page Index Toggle Pages: 1
Send Topic Print
Anisotropic filtering (Read 187 times)
DenisF
Senior Member
****
Offline


So fluffy it hurts

Posts: 409
Israel
Gender: male
Anisotropic filtering
20.06.04 at 05:36:01
 
Hi,

I'm doing a little *research* about what features GFX cards do and how they do them.
I already have almost everything i need answered, except this one thing;

Is anisotropic filtering done on pre or post-render basis?
[ie applied to textures before the scene is rendered, or applied to the whole scene after the rendering]

Right now, out of everyone i asked this, 50% think it's pre, and the other 50% think it's post. couldn't get a straight answer and it's driving me nuts.

If someone could please solve this riddle for me, id'e appriciate it.

Thanks
/DenisF
Back to top
 

[
Powered By:
]
[
Abit NF7-S Rev2.0
] [
AMD Athlon-XP Mobile 2600+@200x12 1.7v
]&&[
GeiL Golden Dragon PC3200 512mB Dual Channel Kit
] [
ATi Radeon 9700 PRO 128mB
]
&&...
138674373 denisfak  
IP Logged
 
FalconFly
YaBB Administrator
*****
Offline


3dfx Archivist

Posts: 2445
5335N 00745E
Gender: male
Re: Anisotropic filtering
Reply #1 - 20.06.04 at 09:35:32
 
It should work "pre-render".

It is done basically 'on the fly', right within the normal rendering Process.

Aniso Filtering just takes more Texture Samples before mapping the (final processed) Texture onto the Scene.
It takes place within the process of Bilinear/Trilinear Filtering cycle to generate the Textures according to their MipMap LOD needed for the Objects.

The actual Texture Mapping process should not be affected by it, as it's just a higher Quality Texture being generated in the overall Texture Filtering process so to speak.
Back to top
 
WWW  
IP Logged
 
DenisF
Senior Member
****
Offline


So fluffy it hurts

Posts: 409
Israel
Gender: male
Re: Anisotropic filtering
Reply #2 - 20.06.04 at 11:37:31
 
mucho gracias, falconfly  Smiley
Back to top
 

[
Powered By:
]
[
Abit NF7-S Rev2.0
] [
AMD Athlon-XP Mobile 2600+@200x12 1.7v
]&&[
GeiL Golden Dragon PC3200 512mB Dual Channel Kit
] [
ATi Radeon 9700 PRO 128mB
]
&&...
138674373 denisfak  
IP Logged
 
grunw
Junior Member
**
Offline


Barcelona, Spain

Posts: 74
SPAIN (Barcelona)
Gender: male
Re: Anisotropic filtering
Reply #3 - 16.07.04 at 10:01:39
 
It's "MUCHAS gracias" not "mucho gracias"  Tongue
Back to top
 

Win98se & WinXP pro (dual-boot)&&Pentium III 866mhz (VIA Chipset)&&768mb SDRAM pc133&&Voodoo5 5500 agp&&SB 5.1 Live!
109493257  
IP Logged
 
dborca
Ex Member


Re: Anisotropic filtering
Reply #4 - 16.07.04 at 15:30:46
 
*it's "MACHO gracias", not "mucho gracias"  Grin*

Anisotropic filtering cannot work pre-render, unless you know exactly how and where the texture will be applied. The aniso filtering is done in the rasterization stage (during the texel lookup phase).

I don't know how current IHVs do implement it, but here's a story...

Here beginneth FakeAniso Cheap Hack (tm):
For simplicity, we'll take nearest sampling mipmapped textures. The mipmaps are build so that each level is obtained by halving the previous level, using a 2x2 average box. The TMU will automagically determine the LOD, based on distance: 0 - 1 - 2 - 3 - 4 ... (those are LOD #s).

Let's take a distance which falls in LOD#1. It is simply an averaged version of the LOD#0. Moreover, it is uniformly averaged in all planar directions -- a circular filter, approximated by a square.

This is okay in particular conditions, but if the texture is being seen under a certain angle (ie: floor texture) it's not enough. It must be an elliptical filter, approximated by a rectangle. This means you can't use a 2x2 box. You'll be needing an WxH box.

So, what is to be done? First of all, you can't extract the original pixels from the averaged pixel. So we FORCE the first LOD as far as we can: 0 - 0 - 0 - 1 - 2 .... Okay, we got our pixels, but we still need to have them averaged, using our WxH box.

The hardware cannot do that automatically, so we have to do it ourselves. How? Multipass rendering. We render the texture with original values, then jitter the texture, by jittering the vertex positions/texture coordinates in the correct direction. This step should be overlayed with alpha blending. The process can be repeated several times, by increasing the jittering while decreasing the alpha blending factor.

Caveats:
  • interferes with GL_EXT_texture_lod
  • interferes with other built-in multipass capabilities of certain renderers (such as MesaFX)
  • might be affected by bi-/tri-linear filtering
  • interferes with alpha blending
  • induces slowness, inherent to multipass techniques
VSA100 users: the native jittering capability of the Napalm could do the trick, at least to some extent. But you'll loose FSAA. And it's beyond the scope of this file, since it's fragment jittering, not vertex jittering. Too many approximations already... And probably Voodoo2 users would find aniso neat, on their hardware, too.  Grin
Here endeth FakeAniso Cheap Hack (tm):

The compulsory credits:
Marc Olano, Shrijeet Mukherjee, Angus Dorbie for the wonderful "Vertex based anisoptropic Texturing"

Koolsmoky & big H.(S) for pointing me to the aforementioned doc and the fruitful discussions we've had while I was trying to understand the algorithm. I also remember that Syed Aqueel Hamdani gave me a link to that file too...

So I hope I didn't forget anyone!

<memo to myself> now copy the damn thing somewhere for your own reference, otherwise you might forget how it's done...  Shocked

*ave, Commodus, morituri te salutant*
Back to top
 
 
IP Logged
 
FalconFly
YaBB Administrator
*****
Offline


3dfx Archivist

Posts: 2445
5335N 00745E
Gender: male
Re: Anisotropic filtering
Reply #5 - 16.07.04 at 17:21:15
 
Well, in my book that is "within the Rendering process", maybe the term "Pre-render" might be a tad misleading Wink
Back to top
 
WWW  
IP Logged
 
Lecram25
Full Member
***
Offline


DOUBLE the Processor  
     DOUBLE the Bandwidth

Posts: 212
Melbourne, FL, USA
Gender: male
Re: Anisotropic filtering
Reply #6 - 16.07.04 at 18:47:08
 
Quote:
I also remember that Syed Aqueel Hamdani gave me a link to that file too...


hehe
So do you plan on completing this ICD? ...

Back to top
 

| AMD Athlon XP (Barton) 2800+ @ 3200+ (11x200) | Cooler Master Jet 7 | ABIT NF7-S Rev 2.0 (nForce 2) | Corsair TWINX1024-3200C2 | Sapphire ATi Radeon 9500np>9700np | Sound Blaster Live! X-Gamer 5.1 | 3dfx VoodooTV 200 PCI | Western Digital 40GB & 120GB HDD | Pioneer 106s DVD | LG 52x24x52 CDRW | Cambridge Soundworks Desktop Theater 5.1 DTT3500 Digital Speakers | &&&&"Maybe if Mesa and Amigamerlin, along with Koolsmokey will work together, this thing could become reality" - Boiu_Andrei
 
IP Logged
 
Page Index Toggle Pages: 1
Send Topic Print