Skip to main content
23 votes
Accepted

How are mipmap levels computed in Metal?

Mip selection is pretty well standardized across devices today—with the exception of some of the nitty-gritty details of anisotropic filtering, which is still up to the individual GPU manufacturers to ...
Nathan Reed's user avatar
  • 25.1k
12 votes
Accepted

Help me grasp Anisotropic Filtering (AF)

To understand the nature of anisotropic filtering, you need to have a firm understanding of what texture mapping really means. The term "texture mapping" means to assign positions on an object to ...
Nicol Bolas's user avatar
  • 9,842
8 votes
Accepted

Is it possible to directly generate mipmap levels of perlin noise?

I would say yes with a small asterisk. When generating a perlin noise texture, using multiple of octaves of noise like you are talking about, the point of adding higher octaves (higher frequency ...
Alan Wolfe's user avatar
  • 7,801
4 votes

Help me grasp Anisotropic Filtering (AF)

A few points that you probably already know, but that I just want to put out there for others reading this. Filtering in this case refers to low-pass filtering like you might get from a Gaussian Blur ...
user1118321's user avatar
  • 3,421
4 votes
Accepted

Kaiser windowed sinc filter for mip mapping

I was curious so I tried it. I used the Kaiser Window from Wikipedia: $\frac{I_0\left(\alpha\sqrt{1-x^2}\right)}{I_0\left(\alpha\right)}$ This page has a slightly different formulation using $\pi\...
Olivier's user avatar
  • 1,585
4 votes
Accepted

OpenGL: read texture mipmap level 0 and render to same texture mipmap level 1

This is possible with only a single framebuffer and a single texture (with mips). To select the mip level to render to, you can use glFramebufferTexture2D, as in ...
voithos's user avatar
  • 156
3 votes
Accepted

Why does mipmapping separate out the RGB channels?

Re separating RGB, I guess you are referring to Lance Williams' "Pyramidal Parametrics" paper. I suspect he did it that way to fit in with the graphics system he had, but on modern GPUs (at ...
Simon F's user avatar
  • 4,306
3 votes
Accepted

2D array texture with different filtering setting per texture?

Array textures do not contain textures; they are a single texture that contains a number of images, with each image being of the same size, format, mipmap depth, etc. As such, the sampling parameters ...
Nicol Bolas's user avatar
  • 9,842
3 votes
Accepted

MipMaps for Signed Distance Field

When you are making an SDF, you commonly have infinitely detailed data (like, bezier curves making up a letter) that you are making into an SDF image of a specific size. If you make one that is 64x64,...
Alan Wolfe's user avatar
  • 7,801
2 votes

Mipmap sampler in Metal compute kernel (not vertex or fragment shader)

You havent' set the mipFilter property for your samplerDescriptor. The default value for ...
GroverManheim's user avatar
2 votes

MipMaps for Signed Distance Field

From what I've found, signed distance fields are not suited for minification (drawing the text on fewer pixels on screen than it covers in the texture), no matter how you mip-map them. Their main use ...
Dreamer's user avatar
  • 121
1 vote
Accepted

How is mipmap level used mathemetically in image sampling?

texelFetch doesn't do any computations. The texture coordinates are in integer texels in texel space. That represents the exact texel you're asking for. The same ...
Nicol Bolas's user avatar
  • 9,842
1 vote
Accepted

Calculating maximum number of mipmap levels for OpenGL automatic mipmap storage generation

As you surmised, the minimum dimension is 1, and for non-square images the smaller dimension will remain 1 until we get all the way down to 1x1. I make the count of mip levels to be $\lfloor \log_2(\...
Nathan Reed's user avatar
  • 25.1k
1 vote
Accepted

Level of detail passed from vertex shader to fragment shader

Passing interpolated values that don't produce any result(other then the original value) is a waste of bandwidth and yes, it should be passed directly to the fragment shader in those cases. Point it ...
pmw1234's user avatar
  • 3,239
1 vote

Space efficient storage/compression of multiple scaled values (mip maps)

However, this gets fairly large quickly and I'd like to know whether there is a possibility to take advantage of the fact that all these images are basically showing the same content. There is. It's ...
Nicol Bolas's user avatar
  • 9,842
1 vote
Accepted

What is mipmapping?

Mipmapping is a pre-computed texture scheme that tries to solve the problem of texturemap aliasing. When a screen pixel from a textured polygon covers many texture pixels, the pixel should be sampled ...
beyond's user avatar
  • 315

Only top scored, non community-wiki answers of a minimum length are eligible