mastodon.gamedev.place is one of the many independent Mastodon servers you can use to participate in the fediverse.
Mastodon server focused on game development and related topics.

Server stats:

5.5K
active users

New blog post! The discussions about mipmapping alpha-tested textures made me wanna try all the methods I could find and post the results with a ton of textures to compare these methods: lisyarus.github.io/blog/posts/

lisyarus blogExploring ways to mipmap alpha-tested textures
Ignacio Castaño🍉

@lisyarus It does make sense that the coverage preservation method does not produce the desired results for your use case. That said, here are some things I would try:

- In your initial coverage calculation try different thresholds. We generally used higher values, but we were doing alpha to coverage, not alpha testing.
- Test the coverage of the bilinearly upsampled texture. See the implementation here: github.com/castano/nvidia-text

GitHubnvidia-texture-tools/src/nvimage/FloatImage.cpp at master · castano/nvidia-texture-toolsTexture processing tools with support for Direct3D 10 and 11 formats. - castano/nvidia-texture-tools

- Estimate the coverage locally, instead of globally. For example, using a small kernel around each texel, or only considering texels within a certain radius.

Another old-school alternative is to simply compute the mipmaps using nearest neighbor sampling, or selecting one of the 4 nearest samples randomly.

As others have pointed out, for the look that you seem to be targeting distance field methods may work best.