gpt4 book ai didi

opengl-es - OpenGL ES 为什么我的纹理旋转了 180 度?

转载 作者:行者123 更新时间:2023-12-04 06:28:54 25 4
gpt4 key购买 nike

我正在一个简单的平面上绘制纹理。渲染代码基本上是这样的:

gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, _vertexBuffer);

gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, _textureBuffer);

gl.glDrawArrays(GL10.GL_TRIANGLES, 0, _vertexBuffer.capacity()/3);

使用 _vertextBuffer 作为
new float[] {
0, 0, 0,
0, height, 0,
width, height, 0,
width, height, 0,
width, 0, 0,
0, 0, 0
};

其中宽度和高度是正值。 _textureBuffer 是
new float[] {
0, 0,
0, 1,
1, 1,
1, 1,
1, 0,
0, 0
}

有了这个,纹理被翻转并镜像或旋转 180 度。我究竟做错了什么?

最佳答案

那是因为 OpenGL 纹理坐标约定与正常约定“颠倒”,要修复它,请翻转 t 纹理坐标 (0 -> 1, 1 -> 0)。

关于opengl-es - OpenGL ES 为什么我的纹理旋转了 180 度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5686096/

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