gpt4 book ai didi

opengl-es - 多纹理问题(新手)

转载 作者:行者123 更新时间:2023-12-03 17:03:26 25 4
gpt4 key购买 nike

我是 OpenGL 和移动编程的新手。

我正在尝试加载 2 个纹理并将它们显示在具有不同坐标的一个对象(我的意思是一组 vercicles)上。

我的方法:

glGenTextures(2, &textures[0]);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glActiveTexture(GL_TEXTURE0);
glClientActiveTexture( GL_TEXTURE0 );
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textures[0]);
glTexCoordPointer(2, GL_SHORT, 0, mapTextCoords);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, map.width, map.height, 0, GL_RGBA, GL_UNSIGNED_BYTE, [map getByteData]);

glActiveTexture(GL_TEXTURE1);
glClientActiveTexture( GL_TEXTURE1 );
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textures[1]);
glTexCoordPointer(2, GL_SHORT, 0, backgroundTextCoords);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, background.width, background.height, 0, GL_RGBA, GL_UNSIGNED_BYTE, [background getByteData]);

glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, mapVertices);

我做错了什么?接下来我应该做什么?

glBindFramebufferOES(GL_FRAMEBUFFER_OES, viewFramebuffer);
glDrawArrays(GL_TRIANGLE_STRIP, 0, BYTES_PER_PIXEL);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer);

结果我得到了白色物体(根本没有纹理)。

最佳答案

如果您要使用 GL_TEXTURE_MIN_FILTERdefault,请尝试提供一组完整的 mipmap GL_NEAREST_MIPMAP_LINEAR

或者将GL_TEXTURE_MIN_FILTER设置为GL_NEAREST/GL_LINEAR

关于opengl-es - 多纹理问题(新手),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4701562/

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