gpt4 book ai didi

opengl - 将自己的mipmap创建算法用于OpenGL纹理是否有意义?

转载 作者:行者123 更新时间:2023-12-03 14:54:55 25 4
gpt4 key购买 nike

我想知道如果使用我自己的算法来预生成纹理mipmaps的质量,而不是内置的自动mipmaps的质量会更好。我可能会使用缓慢但漂亮的算法,例如Lanczos重采样。

是否有意义?我将在现代图形卡上获得任何质量提升吗?

最佳答案

有充分的理由来生成自己的mipmap。但是,下采样的质量不是其中之一。

游戏和图形程序员过去曾尝试过各种下采样算法。最后,事实证明,非常简单的“平均四个像素”方法可提供最佳结果。从理论上讲,更高级的方法在数学上也更正确,它们往往会使mipmap变得更加清晰。这使外观看起来平整(尝试一下!)。

出于某些(对我来说是无法理解的)原因,简单的平均方法似乎在抗锯齿和保持mipmap清晰之间具有最佳权衡。

但是,您可能需要使用gamma校正来计算mipmap。 OpenGL不会自己执行此操作。这可以带来真正的视觉差异,尤其是对于较暗的纹理。

这样做很简单。而不是像这样将四个值平均在一起:

float average (float a, float b, float c, float d)
{
return (a+b+c+d)/4
}


做这个:

float GammaCorrectedAverage (float a, float b, float c, float d)
{
// assume a gamma of 2.0 In this case we can just square
// the components.
return sqrt ((a*a+b*b+c*c+d*d)/4)
}


此代码假定您的颜色分量被归一化为0到1。

关于opengl - 将自己的mipmap创建算法用于OpenGL纹理是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/831893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com