Hacker News new | past | comments | ask | show | jobs | submit login

Very beautiful article!

I'm always infuriated by texture aliasing, and this is a very refreshing read of the basics. Notice that in this article the anisotropy is linearized, and near the horizon of the sampled plane this linearization breaks down. It is actually very difficult to render an infinite plane without aliasing nor blur near the horizon!




I don't think their is a 3rd option.

Picture zooming out from a repeating image. Eventually an entire picture takes a single pixel then multiple images per pixel. You can pick one pixel from a full image but that's going to get aliasing effects, or you can use multiple but that just means blur.


I think mip-mapping is the standard approach to handle that scenario.


It is certainly possible. If your texture is defined by a simple formula (e.g., an infinite checkerboard), then you can compute explicitly the correct rendering without aliasing nor blur.


Suppose you have zoomed out enough so their are a grid of ~10^100 x ~10^100 black and white checkerboards under each pixel. Now, you could use some small set of random samples to pick black or white, but for any given screen and set of random points their is a way to lay that checkerboard so every sample is white.

Increase the # of samples to any finite number, and you get the same problem at a higher zoom level.


For the case of the checkerboard, the color of pixels near the horizon has to be gray. This does not mean that there is blur, it is just a realistic rendering model.

The problem is that it is very difficult to filter a generic texture so that it looks perfect near the horizon. For a particular simple texture such as the checkerboard you can compute the exact rendering explicitly. But I know of no method to do it in general.


Ok, I would call that blur, but I don't want to argue semantics. Anyway, that makes my original point moot as I misunderstood what you where looking for.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: