What type of texture filtering does metroid prime use?

Just wondering about the games filtering method, the texturing gets the job done quite well and the game has very decent framerates. I wanted to know if you guys thought the game was using trilinear or bilinear texture filtering.

I know this is not what metroid prime is about, but I enjoy some graphics trivia here and there.
 
I would hope it's Trilinear, since Flipper is ment to get that for free in some color depths (i think)

but I don't know, not having played it yet.
 
Yes, mip banding actually does bother me that much. I hate having the ground detail just roll out in front of me as I walk, in any game.
 
Ummm...what´s the difference between linear, bilinear and trilinear filtering?

It's point sampling, bilinear and trilinear(anisotropic is used in conjunction as a complimentary filtering technique).

Point sampling utilizes one sample per texel. This method is absolutely hideous and hasn't been used on the PC for years, the PSX is the last console to use it. You run in to serious problems with textures appearing very blocky/chunky due to lack of proper transition between color gradiations. Unfortunately the Basement is dead or I'd throw up some screenies to show the difference.

Bilinear takes four samples per texel and blends them together to give smooth color transitions. This removes the blocky appearance of point filtering but you still have very noticeable mip map borders(a line ahead of you where you can see where the textures change from sharp to blurry).

Trilinear takes four samples per texel from two different levels of mip maps for a total of eight samples and utilizes the ouput to transition between mip boundaries giving smooth textures and smooth transitions between mip levels.

Anisotropic(even though you didn't ask) takes into account the angle of the texture in relation to the viewpoint to apply a differing type of filtering on it(how exactly it is done depends on whose implementation). Using anisotropic you can eliminate a great deal(nearly all if you use a good enough implementation) of texture aliasing while being more agressive with your LOD(making textures remain sharper for greater distances without introducing too much texture aliasing into the image).

For nitpickers ;) - I am using the loose and commonly used definition of texel.
 
Logan Leonhart said:
Ummm...what´s the difference between linear, bilinear and trilinear filtering? :oops:

"Linear" filtering (point sampling) is like what you see in old Software 3D games (DOOM, Duke Nukem), and PSX. Basically the textures aren't filtered in any way at all, the video engine just takes one texel from the applicable texture, that being the 'best fit' for the pixel being shown. This leads to textures being REASONABLE at certain distances, shimmery like nothing else at a distance, and severely blocky up close.

Bilinear filtering takes a broader approach; instead of just taking the one 'best fit' sample, it takes the FOUR nearest samples and blends them together. This results in textures looking pretty decent at range, very good at the right distance, and blurry but still OK up close. Every 3D-accelerated game uses this, and consoles starting with N64 do, too.

There's a technique which can be used to improve speed and quality a little bit called MIP mapping, basically what this does is it stores textures at 1/4, 1/16, etc. the size of the original texture, and uses different quality levels at a distance. The end result of MIP mapping is a decent performance gain in some cases, and a more realistic effect of surfaces having less visible detail at range.

There's a catch to MIP mapping though: used with bilinear filtering, there are VERY noticeable 'bands' between MIP map quality levels... so for a short distance around you, things will be very sharp and hi-Q, but then after a short distance the sharpness will abruptly become blurred.

The answer to this is TRIlinear filtering. Trilinear filtering works exactly the same as bilinear filtering (4 samples per MIP level), BUT to combat the MIP map bands, it takes four samples from TWO adjacent quality levels (so basically 8 samples instead of 4). This results in the error between the MIP levels being spread out very evenly and making the transition from very sharp to very blurry a very smooth one :)
 
Logan Leonhart said:
I see thanks. And although I´m taking the risk of sounding stupid..what´s a texel? :oops:

Hehehe ^_^; A texel is a 'texture element'.

Basically all those little dots on your screen are called pixels.

Well, in virtual space, a floating texture is made up of a collection of dots as well, and those dots are called texels, to differentiate them from the pixels that are your final output. :)
 
Zurich-

The term was around prior to 3Dfx's useage of it(which is why I added the disclaimer about using the loose definition of the word).
 
I'm not sure is Metroid is using FSAA but it does a damn fine job of looking close to it. Retro may be using the same Factor 5 used..I think it's called multi sampling or something?
 
I dunno about MP.. kinda going off-topic here but I love the balance they have with these graphics.

The textures are never detailed enough to stand around and gawk at up-close (remember th' first time you saw Unreal?) but they're more than good enough. Heck, some of them give off the illusion of bump-mapping even though it's not really there.

That's a nice touch. MP does so much with so little; a lot of the effects wouldn't hold much ground on their own, but throw them all into a game with a framerate at 60fps which holds that number for 99.5% of the time.. and you're impressing people!
 
Tagrineth said:
"Linear" filtering (point sampling) is like what you see in old Software 3D games (DOOM, Duke Nukem), and PSX.

Bilinear takes 4 texels and linearly interpolates in two dimensions, which is where the "bi" comes from. Trilinear takes 2 bilinear filtered samples and linearly interpolates them, so you get "tri" linear. "Linear" filtering would imply grabbing two texels and linearly interpolating only once. This is similar to the Xabre's "performance bilinear", which is not bilnear at all but more of "linear" filtering.

Point sampling isn't "linear" or "filtering" anything - it's an unaltered texel taken straight from the texture. There is no filtering or linear anything... dunno where you got the "linear filtering" comment. Also, point sampling in and of itself does not cause the horrible shimmering effects seen in classic DOOM; this is caused by DOOM's lack of mipmaps. Point sampling is only somewhat shimmery, but extremely blocky. If you used bilinear sampling without mipmaps, you would get just as much shimmering as point sampling without mipmaps - but textures would look much smoother up close.

That said, consoles more advanced than N64 really shouldn't have to use less than trilinear filtering. PS2, GC, and Xbox all have plenty of texel fillrate, and they are running at very low resolutions where memory bandwidth shouldn't be a big issue, so there is no excuse for using bilinear filtering. A Gamecube or Xbox has fillrate on the level of a Radeon8500/GeForce4Ti4200, and I've never heard of a Radeon8500 or GF4Ti user turning down texture filtering to trilinear to gain a few frames at 640*480...

I would be very surprised (and rather doubtful about the skills of the game developers) if a game for Xbox or Gamecube was using bilinear filtering. They have way too much graphics horsepower to limit themselves to bilinear. Although mipmap banding is harder to see at low TV resolutions compared to high res PC monitors, there's no reason why people should use bilinear when trilinear is available at little performance cost.
 
Back
Top