[Computer Graphics] Mipmap

2023. 10. 10. 18:35Run/Computer Graphics

출처: https://blog.imaginationtech.com/why-you-really-should-be-using-mipmapping-in-your-graphics-applications/

 

 

GL_NEAREST

Nearest neighbor interpolation (Point sampling)

GL_LINEAR

Bilinear interpolation

GL_LINEAR_MIPMAP_NEAREST

주어진 해상도에 가장 가까운 mipmap을 선택한 후 (MIPMAP_NEAREST)

해당 mipmap 내에서 Bilinear interpolation을 가하는 방법 (GL_LINEAR)

GL_NEAREST_MIPMAP_NEAREST

MIPMAP_NEAREST에서 다시 Point sampling을 가하는 방법

GL_LINEAR_MIPMAP_LINEAR

mipmap 사이를 보간하여 새로운 mipmap을 만든 후 (MIPMAP_LINEAR)

해당 mipmap 내에서 Bilinear interpolation을 가하는 방법

계산 시간 면에서는 불리하지만 가장 부드러운 anti-aliasing 효과를 가짐

 

Mipmap is a sequence of textures, each of which is progressively lower resolution representation of the same image.

The height and width of each image(level) in the mipmap is a power-of-two smaller than the previous level.

High-resolution mipmap image is used for objects that are close to the user.

Low-resolution mipmap are used as the object appears farther away.

Mipmapping improves the quality of rendered textures at the expense of using more memory.

 

Benefits

1. Improved image quality

Help to eliminate aliasing effects caused by oversampling textures.

2. Increased performance

Increase cache efficiency as full-size textures will not be needed as often, and the lower resolution mipmaps will fit more easily in the texture cahce. Texture data doesn't have to be fetched as often, reducing bandwidth usage and increasing application performance.