gpt4 book ai didi

iPhone OpenGL ES 纹理单元

转载 作者:行者123 更新时间:2023-12-03 21:04:52 24 4
gpt4 key购买 nike

我刚开始为 iPhone 编写 OpenGL ES。我正在尝试渲染 yuv 纹理,但对纹理单元的概念感到非常困惑。

如果我用不同的组合更改 glUniform1i 的第二个参数,则生成的图像会有所不同。我的问题是这个 0 或 1 个纹理单元是如何配置的?正确的使用方法是什么?

编辑:愚蠢的我...忘了叫这个:

glTexParameteri(GL_TEXTURE_2D, GL_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_MAG_FILTER, GL_NEAREST);

最佳答案

您可以使用如下代码将纹理绑定(bind)到可用的纹理单元:

glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texture1);

glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, texture2);

当然,这假设您已正确配置 texture1texture2

当需要将纹理绑定(bind)到着色器时,您可以使用如下代码指定特定纹理绑定(bind)到哪个纹理单元:

glUniform1i(texture1Index, 0);
glUniform1i(texture2Index, 1);

其中 texture1Indextexture2Index 是适合您的着色器的相应制服的索引。 0 和 1 对应于我们之前绑定(bind)纹理的纹理单元。

关于iPhone OpenGL ES 纹理单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8366033/

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