gpt4 book ai didi

通过opengl函数调用调整opengl纹理lod偏差?

转载 作者:行者123 更新时间:2023-12-01 08:20:10 25 4
gpt4 key购买 nike

如何通过 opengl 函数调用来改变 lod 偏差?我不喜欢默认设置,过早更改 miplevels 并使附近的地面看起来很丑。

我找不到任何代码来做到这一点,每个主题都是关于一些完成这项工作的外部程序......

编辑:这是我的纹理设置:

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST_MIPMAP_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST);

最佳答案

用途:

glTexEnvf(GL_TEXTURE_FILTER_CONTROL, GL_TEXTURE_LOD_BIAS, bias);

更多细节在这里: http://www.opengl.org/sdk/docs/man/xhtml/glTexEnv.xml那里:http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_lod_bias.txt

编辑:

好的,我明白了。第一个GL_TEXTURE_MAG_FILTER只能取两个可能的值:

  • GL_NEAREST
  • GL_LINEAR

所以使用 GL_LINEAR 以获得最佳效果。

然后对于 GL_TEXTURE_MIN_FILTER,使用 GL_NEAREST_MIPMAP_NEAREST 你没有使用纹理插值,只使用 mipmaping(你使用最适合的最近的 mipmap,但是在这个 mipmap 中你使用仅最近的纹素,在这个纹素和他的邻居之间没有插值)。

所以使用 GL_NEAREST_MIPMAP_LINEAR 在纹素之间进行加权平均。

使用 GL_LINEAR_MIPMAP_LINEAR 您可以获得更高的渲染质量,因为它将使用两个 mipmap(mipmap N 和 N+1)的纹理提取结果之间的线性插值,而不是仅获取结果像以前一样为 mipmap N 提取纹理。

GL_LINEAR_MIPMAP_LINEAR 也称为三线性过滤

关于通过opengl函数调用调整opengl纹理lod偏差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1882690/

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