Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java OpenGL纹理拉伸_Java_Opengl_Textures - Fatal编程技术网

Java OpenGL纹理拉伸

Java OpenGL纹理拉伸,java,opengl,textures,Java,Opengl,Textures,我正在尝试将纹理附加到立方体。当前,纹理正在拉伸 我知道我的纹理坐标有问题,但我不知道是什么 对于所有顶点位置(x,y,z),我制作了纹理坐标(x,y) 电流输出: gl2.glTexParameteri( GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER,GL.GL_NEAREST); gl2.glTexParameteri( GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER,GL.GL_NEAREST); gl2.glT

我正在尝试将纹理附加到立方体。当前,纹理正在拉伸

我知道我的纹理坐标有问题,但我不知道是什么

对于所有顶点位置(
x,y,z
),我制作了纹理坐标(
x,y

电流输出:

gl2.glTexParameteri( GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER,GL.GL_NEAREST);
gl2.glTexParameteri( GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER,GL.GL_NEAREST);
gl2.glTexParameteri(GL.GL_TEXTURE_2D,GL.GL_TEXTURE_WRAP_S,GL.GL_REPEAT);
gl2.glTexParameteri(GL.GL_TEXTURE_2D,GL.GL_TEXTURE_WRAP_T,GL.GL_REPEAT);

如果您超过该边界,则根据
GL\u REPEAT
GL\u Texture\u WRAP\S
GL\u Texture\u WRAP\T
参数,OpenGL中的纹理坐标将缩放为0-1

我不知道
allPoints
列表的组织,但对于立方体,每个顶点都有多个唯一的纹理坐标,因此需要复制顶点。如果手动绘制或仔细考虑,相邻面的顶点上
1
的纹理坐标也必须为
0

每个面应具有以下纹理坐标:

(0, 1)--(1, 1)
|            |
|            |
|            |
(0, 0)--(1, 0)

现在想想立方体上的面,
(1,1)
点就是相邻面的
(0,1)
点。复制顶点以解决该问题。

这很有意义。我相应地更改了纹理坐标,但它看起来仍然伸展。(). allPoints是立方体细分中的所有点。立方体的顶点从-0.5->0.5重要吗?谢谢纹理坐标与顶点无关。看起来有些纹理坐标与顶点不匹配。与顶面类似,左下角和右下角的坐标看起来是翻转的。只要把这些值弄乱,直到你在正确的地方得到正确的值。
(0, 1)--(1, 1)
|            |
|            |
|            |
(0, 0)--(1, 0)