gpt4 book ai didi

c++ - OpenGL 纹理缩小伪像

转载 作者:行者123 更新时间:2023-12-02 09:48:23 26 4
gpt4 key购买 nike

我有这个网格,基本上是从 map 集中采样其纹理。当纹理被放大时,它会按预期工作。 enter image description here

然而,每当我从远处看它时,我开始看到纹理上的线条和蓝色色调,就好像它们在闪闪发光...... enter image description here

这是用于指定图像属性的代码:

  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST);

我实质上是使用配置文件加载纹理图集,如下所示: enter image description here

count 5
name grass_top
uv 0.750 0.750 0.81250 0.81250
name grass_side
uv 0.18750 0 0.250 0.06250
name grass_bottom
uv 0.1250 0 0.18750 0.06250
name dirt
uv 0.1250 0 0.18750 0.06250
name stone
uv 0.0625 0 0.125 0.0625A

这可能是什么问题,我完全被难住了......

编辑:实现 Rabbid76 的解决方案后,这就是它的样子! enter image description here

最佳答案

我建议将 mipmap 层限制为 4,因为图 block 的大小为 16x16。请参阅Mipmap rangeglTexParameter :

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 4);

如果不指定最大 mipmap 级别,则纹理大小不超过 1x1 的所有 mipmap 级别都将用于纹理采样。在第 4 级以上,纹理图集的图 block 会混合。

关于c++ - OpenGL 纹理缩小伪像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62941869/

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