top of page
Search

"Tri-linear M(b)itmap Interpolation!"- A Write-up on Nintendo 64 Textures

  • Writer: readypercival
    readypercival
  • Feb 17, 2023
  • 3 min read

The year was 1994. Namco's Ridge Racer released in '93 after multiple location test prototypes in '92 at their Wonder Eggs amusement park in Japan, making it the first released game with full texture mapping. The 3DO Company launched their titular 3DO at a whopping $600 in 1993 and it immediately flopped, though it was the first console with dedicated 3D hardware. Sega's answer to Ridge Racer was the first instance of texture filtering in a released game with Daytona USA in '94, and consoles were next in line.


Sega and Sony ended up striking the 3D console market in late '94, but Nintendo was late to the party by two years and the fall-out with Sony over the ill-fated Super Disc/SNES-CD in '91 didn't help matters. The time eventually came to replace the Super Nintendo when Sega and Sony announced these new 3D systems, and Star Fox 2 was infamously canceled (alongside further SNES Super FX development). Nintendo then partnered with SGI (Silicon Graphics Incorporated) to build new hardware. It was originally slated for 1995, but got pushed back a year to '96.


Nintendo and SGI were very proud of the hardware, hence this image (assumedly from a magazine around this time. I'd really like to find a scan of this!). It's been a bit of a meme lately:

ree
I swear this is what it's like to see in computer vision.

The marketing phrase was "Tri-linear mipmap interpolation". Mipmapping is where progressively lower-resolution versions of a texture are used for when the texture is viewed at increasingly oblique angles and further distances. This reduces the severe (typically PS2-like) aliasing you'd get on oblique/far textured surfaces if you just used the full-resolution texture all the time.

A screenshot of Digital Foundry's Shadow of the Colossus video comparing the texture filtering on a long flat bridge between the 2011 PS3 and original 2005 PS2 versions. The PS3 port is shown on the left, and PS2 on the right. The repeating bridge texture retains its detail with no aliasing on PS3 (though it becomes smudgy at a distance), while it's an aliased, pixelated mess on PS2.
Lack of mipmapping in Shadow of the Colossus.

When you use mipmapping with no anisotropic filtering, you get smudgy, soupy textures at those angles instead. I honestly prefer the severely-aliased look over this... I grew up with an original Xbox hating this kind of appearance long before I knew how to describe it.

Screenshot of Digital Foundry's Goldeneye Xbox One/Series and Switch vs. N64 video. On N64, the textures at oblique angles and further distances progressively blur into a soupy, low-frequency look.
Goldeneye on the N64 had trilinear-style interpolation between mip levels, something rarely seen on the system.

The Dreamcast is one of the biggest scapegoats for this smudged look. When viewing textures in its games at oblique angles or far distances, they blur into unintelligible messes and it's pretty bad looking. The lack of fading between the mipmap levels in most of its games makes this shortcoming look even worse- more on that in a little bit.

A screenshot of Sonic Adventure on Dreamcast where Sonic is running towards the camera on a cliff in the "Lost World" level. The low angle demonstrates how the ground texture becomes very blurry at oblique angles and far distances to the camera.
Mipmap blurriness was everywhere on earlier systems with texture filtering.

The N64 uses a cheapened version of bilinear texture filtering nicknamed "3-point" by emulator developers. This type of filtering smudges all textures diagonally from the top left, and most N64 emulators (plus all of Nintendo's own!) use bilinear texture filtering instead of simulating 3-point in a shader. Nintendo and SGI seem to refer to this as "tri-linear" (Trilinear is a different form of texture filtering that doesn't work this way.)

Screenshot of The Legend of Zelda: Ocarina of Time from a Nintendo 64 emulator with 3-point texture filtering. Young Link is facing the side of a staircase intentionally textured to be diagonally smudged by the system's 3-point texture filtering.
N64 textures were designed around 3-point filtering...
Screenshot of The Legend of Zelda: Ocarina of Time from a Nintendo 64 emulator with bilinear texture filtering. The texture was intentionally designed around the limitations of 3-point filtering, making it look blocky when it's not smudged diagonally by 3-point filtering.
...so staircases in OoT don't look so hot with bilinear.

Actual trilinear filtering is just bilinear, but with interpolation (fading) between the mipmap levels so the transition's smoother and you don't get sudden, obvious cuts between the mipmap levels. Here's a comparison between bilinear and trilinear texture filtering in the Garry's Mod map gm_construct. Bilinear has a noticeable cutoff between the mipmap quality levels. Trilinear has interpolation (fading) between the mipmap levels, making the transition smoother.

A comparison between bilinear and trilinear texture filtering in the Garry's Mod map gm_construct. Bilinear has a noticeable cutoff between the mipmap levels. Trilinear has interpolation (fading) between the mipmap levels, making the transition smoother.
You might even be nostalgic for that cut-off line!

The N64 does actually support this type of interpolation!... Though for performance reasons, it's hardly ever used and many N64 games just don't use mipmapping. Here's a 2560x1920 screenshot of Goldeneye running in HD to show this in action. Not even the majority of Dreamcast games had mipmap interpolation of any kind.

2560x1920 (anamorphic 16:9 widescreen, internal resolution is a 4:3 aspect ratio) screenshot of a stack of containers in Goldeneye 007 in Mupen64Plus-Next, meant to show off the texture blurring from the mipmapping.
...It's pretty blurry. Most N64 games didn't bother.

When it was finalized in 1995, the N64's architecture was very forward-looking. SGI brought ideas like texture filtering, mipmapping and even edge-based anti-aliasing to the forefront of gaming in the home, and all these graphical concepts are still extremely relevant. Even in today's AAA games targeting the PS5, Series X and RTX GPUs on PC, you'll easily spot modern extensions of all these ideas. It's more like trilinear-style mipmap interpolation, but I guess that crazy marketing phrase held some weight after all!

 
 
 

Comments


bottom of page