Java OpenGL ES:如何在平面上重复纹理?

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

我想使用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_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重复