作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将一个图像叠加在另一个图像之上,形成一个简单的四边形。我将底部图像设置为纹理单元 0,然后将顶部图像(具有变量 alpha)设置为纹理单元 1。单元 2 具有模式 GL_DECAL
,这意味着当alpha 为 0,当 alpha 为 1 时,顶部纹理应该显示。但是,只有顶部纹理显示,底部纹理根本不显示。它只是底部纹理应该显示出来的白色。
glGetError() 不报告任何问题。任何帮助表示赞赏。谢谢!
glVertexPointer(3, GL_FLOAT, 0, boxVertices);
glEnableClientState(GL_VERTEX_ARRAY);
glClientActiveTexture(GL_TEXTURE0);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, boxTextureCoords);
glClientActiveTexture(GL_TEXTURE1);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, boxTextureCoords);
glClientActiveTexture(GL_TEXTURE0);
glEnable(GL_TEXTURE_2D);
glClientActiveTexture(GL_TEXTURE1);
glEnable(GL_TEXTURE_2D);
glClientActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, one.texture);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glClientActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, two.texture);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
最佳答案
由于您使用的是顶点数组,因此需要使用 glClientActiveTexture
设置纹理坐标时,而不是 glActiveTexture
。
关于iphone - 在 iPhone 上使用多重纹理添加贴花,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1912727/
如何在三个 js 中向 3d OBJ 模型添加贴花? var loader = new THREE.OBJMTLLoader(); loader.addEventListene
我正在使用 THREE.js 加载 collada 模型。该模型代表丘陵地带。现在模型有一个重复的纹理(草)。 我想要做的是为模型添加贴花(不确定这是否是正确的命名法)。基本上我有一 block 沙子
我尝试绘制 decals 和 background 两种纹理,但只有 decals 的 alpha 部分变成白色。 我只是尝试了以下方法。 绘制 2 个纹理(背景和贴花) 添加 glBlendFunc
我是一名优秀的程序员,十分优秀!