gpt4 book ai didi

java - 纹理环绕模式重复不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 09:12:11 24 4
gpt4 key购买 nike

我正在使用带有 OpenGL ES 2.0 的 Android 移动平台。

当我制作这样的纹理时,场景中的纹理绘制正确

 //Generate there texture pointer
GLES20.glGenTextures(1, textureHandle, 0);

// parameters - we have to make sure we clamp the textures to the edges!!!
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textureHandle[0]);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S,GLES20.GL_CLAMP_TO_EDGE);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T,GLES20.GL_CLAMP_TO_EDGE);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER,GLES20.GL_LINEAR);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER,GLES20.GL_LINEAR);

但是,我希望能够滚动纹理,并且我相信将环绕模式设置为 GLES20.GL_REPEAT 将使所需的计算更有可能进行。但是,当使用如下代码时。

            //Generate there texture pointer
GLES20.glGenTextures(1, textureHandle, 0);

// parameters - we have to make sure we clamp the textures to the edges!!!
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textureHandle[0]);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S,GLES20.GL_REPEAT);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T,GLES20.GL_REPEAT);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER,GLES20.GL_LINEAR);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER,GLES20.GL_LINEAR);

每个纹理都是黑色的。我在这里所做的唯一区别是在调用 GLES20.glTexParameteri 时设置了 GLES20.GL_REPEAT 参数名称。这看起来真的很奇怪。有人有什么想法可以分享吗?

我很感激任何帮助。谢谢。

最佳答案

纹理大小是 2 的幂(POT)吗?如果不是,则 NPOT 纹理的包裹模式有一些限制;在这种情况下,仅支持 GL_CLAMP_TO_EDGE,这就是您所看到的。

关于java - 纹理环绕模式重复不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7520445/

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