Java OpenGL ES:如何在平面上重复纹理?
我想使用openGL ES 2.0(对于Android=>Java)创建一个0.2 m x 1.05 m的平面,并用一个重复的方形纹理(大小为0.1 m x 0.1 m)覆盖它。因此,我将在长度上有10.5个纹理,在宽度上有2个纹理 有人能帮我写些代码来做这件事吗Java OpenGL ES:如何在平面上重复纹理?,java,opengl-es,opengl-es-2.0,arcore,Java,Opengl Es,Opengl Es 2.0,Arcore,我想使用openGL ES 2.0(对于Android=>Java)创建一个0.2 m x 1.05 m的平面,并用一个重复的方形纹理(大小为0.1 m x 0.1 m)覆盖它。因此,我将在长度上有10.5个纹理,在宽度上有2个纹理 有人能帮我写些代码来做这件事吗 谢谢。就像G.M.说的那样,这很简单,只要将纹理设置为重复采样,这样当UV值低于或高于(0-1)时,它就会包裹起来。我不使用Java,但大致如下所示: glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB
谢谢。就像G.M.说的那样,这很简单,只要将纹理设置为重复采样,这样当UV值低于或高于(0-1)时,它就会包裹起来。我不使用Java,但大致如下所示:
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB8, imgWidth, imgHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, loadedImg);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
// LOOKING DOWN Y AXIS
// TRIANGLE1 TRIANGLE 2
// *0 *3 *5
//
// *1 *2 *4
// POS UVs
float vertices[] = { 0.f, 0.f, 0.f, 0.f, 0.f,
0.f, 0.f, 0.2f, 0.f, 2.f,
1.05f, 0, 0.2f, 10.5f, 2.f,
0.f, 0.f, 0.f, 0.f, 0.f,
1.05f, 0.f, 0.2f, 10.5f, 2.f,
1.05f, 0.f, 0.f, 10.5f, 0.f };
基本上,平面的远侧不是(1,1),远侧的UV值为(10.5,2),缠绕超过十次。查看并设置GL\u纹理缠绕
和GL\u纹理缠绕
到GL\u重复
。