Changes

Jump to navigation Jump to search

Texture filtering

1,323 bytes removed, 04:22, 23 August 2018
m
table cleanup
[[File:Nearest_Neighbor_2x_versus_HQ2x.png|thumb|300px|A comparison between nearest neighbor scaling and HQ2x scaling]]
In computer graphics, '''texture filtering''' or texture smoothing is the method used to smooth textures used in 3D models. Some consoles use texture filtering.
==Consoles==
{| class="wikitable" style="text-align:center;"
! scope="col"|Console
! scope="col" style="text-align: center;"|Texture Filtering! scope="col" style="text-align: center;"|Types of filtering
|-
| style="text-align:left;" |[[Super Nintendo emulators|Super Nintendo]]| style="text-align: center;"|✗| style="text-align: center;"|
|-
| style="text-align:left;" |[[3DO emulators|3DO]]| style="text-align: center;"|✗| style="text-align: center;"|?
|-
| style="text-align:left;" |[[Atari Jaguar emulators|Atari Jaguar]]| style="text-align: center;"|✗| style="text-align: center;"|
|-
| style="text-align:left;" |[[Sega Saturn emulators|Sega Saturn]]| style="text-align: center;"|✗| style="text-align: center;"|
|-
| style="text-align:left;" |[[PlayStation emulators|PlayStation]]| style="text-align: center;"|✗| style="text-align: center;"|
|-
| style="text-align:left;" |[[Nintendo 64 emulators|Nintendo 64]]| style="text-align: center;"|✓| style="text-align: center;"|Three-sample
|-
| style="text-align:left;" |[[Sega Dreamcast emulators|Sega Dreamcast]]| style="text-align: center;"|✓| style="text-align: center;"|Bilinear, trilinear, anisotropic
|-
| style="text-align:left;" |[[PlayStation 2 emulators|PlayStation 2]]| style="text-align: center;"|✓| style="text-align: center;"|Bilinear, trilinear, Anisotropic
|-
| style="text-align:left;" |[[GameCube emulators|GameCube]]| style="text-align: center;"|✓| style="text-align: center;"|Bilinear, trilinear, anisotropic
|-
| style="text-align:left;" |[[Xbox emulators|Xbox]]| style="text-align: center;"|✓| style="text-align: center;"|Bilinear, trilinear, anisotropic
|-
| style="text-align:left;" |[[Nintendo DS emulators|Nintendo DS]]| style="text-align: center;"|✗| style="text-align: center;"|?
|-
| style="text-align:left;" |[[PlayStation Portable emulators|PlayStation Portable]]| style="text-align: center;"|✓| style="text-align: center;"|Bilinear, trilinear
|-
| style="text-align:left;" |[[Wii emulators|Wii]]| style="text-align: center;"|✓| style="text-align: center;"|Bilinear, trilinear, anisotropic
|}
==Types of Texture Filtering==
{| class="wikitable"! scope="col" style="text-align: center;"! scope="col"|Filtering type! scope="col" style="text-align: center;"|What it does! scope="col" style="text-align: center;"|Pros! scope="col" style="text-align: center;"|Cons
|-
| style="text-align: center;"|'''Nearest neighbor'''| style="text-align: center;"|This method sorts pixels into the nearest place relevant to its placement in the original resolution, in order to display the image at whatever resolution you specify.| style="text-align: center;"|
*Very fast.
*At integer values (eg, exactly double or quadruple resolution) it's practically "unfiltered".
| style="text-align: center;"|
*Unfiltered pixels tend to look odd, with some being thicker than others. This can result in pixel art losing clarity, and text may become hard to read.
|-
| style="text-align: center;"|'''Bilinear'''| style="text-align: center;"|This linear filtering method uses color data from the pixels in a nearest-neighbor texture, and combines multiple bits of color data in order to replace some of the pixels with an averaged-out version of the colors, so that the colors gradually switch rather than jump to a new color.| style="text-align: center;"|
*Looks better than nearest neighbor for 3D games.
*It's the least system-intensive form of texture filtering/scaling.
| style="text-align: center;"|
*At low resolutions, 2D games tend to become very blurry. This is especially noticeable in 2D games, and low res 3D games.
*If you have the hardware to do so, look into more complex filtering methods to preserve clarity.
|-
| style="text-align: center;"|'''Trilinear'''| style="text-align: center;"|This linear filtering method does the same thing as bilinear filtering, except it passes through twice, giving a smoother gradient.| style="text-align: center;"|
*Looks better than bilinear filtering for 3D games.
| style="text-align: center;"|
*As with bilinear, low-resolution games will more than likely appear overly blurry using this method.
|-
| style="text-align: center;"|'''HQx'''| style="text-align: center;"|A texture scaling algorithm. Scales up a nearest-neighbor version of the texture and fills in the gaps with copies of the pixels next to said gaps.| style="text-align: center;"|
*While it is inherently destructive, some games (eg. Yoshi's Island) may benefit from this filter, as it preserves the cartoony look.
| style="text-align: center;"|
*Artifacts are common.
*Curves and slopes that aren't 45­° look jagged compared to everything else.
*Worse at some things that xBR excels at.
|-
| style="text-align: center;"|'''2xSaI'''| style="text-align: center;"|A texture scaling algorithm. Scales the texture and fills edges in with a mixture of pixels taken from the source and randomly-guessed colors.| style="text-align: center;"|
*Less system-intensive than HQx and xBR.
*Adequate if it's the best option available (e.g. in Pete's OpenGL2 plugin for PSX emulators).
| style="text-align: center;"|
*Edge detection is horrible.
*Artifacts are common.
*Archaic. The alternatives are much better.
|-
| style="text-align: center;"|'''xBR'''| style="text-align: center;"|A modified version of HQx. It detects edges better, which works better for curved lines, or for slopes that are greater than/less than 45 degrees.| style="text-align: center;"|
*Looks great for many 2D games.
*Edge detection is improved over HQx. This gives textures smoother curves and slopes, as well as fewer artifacts.
*3D games look great with it as well.
| style="text-align: center;"|
*Posterization is common. There are deposterization filters in some emulators (e.g. PPSSPP) that can aid this, however.
*The finer details of the textures/sprites might be obscured by bad edge detection.
*Worse at some things that HQx excels at.
|-
| style="text-align: center;"|'''xBRZ'''| style="text-align: center;"|A modified version of xBR, which is very similar except it's better at scaling up smaller features consisting of <10 pixels.| style="text-align: center;"|
*Looks great for many 2D games.
*Detects small features that get messed up by HQx and xBR.
*3D games look great with it as well.
| style="text-align: center;"|
*Posterization is common. There are deposterization filters in some emulators (e.g. PPSSPP) that can aid this, however.
*Worse at some things the other scalers excel at.
927
edits

Navigation menu