Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.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 使用纹理图集UV坐标的LWJGL OpenGL绘图文本_Java_Opengl_Lwjgl - Fatal编程技术网

Java 使用纹理图集UV坐标的LWJGL OpenGL绘图文本

Java 使用纹理图集UV坐标的LWJGL OpenGL绘图文本,java,opengl,lwjgl,Java,Opengl,Lwjgl,我正试图在我的OpenGL程序中使用纹理四边形绘制文本。我的纹理尺寸是256x32,每个字符大约有6个像素大。 每行42个字符,5行 生成左上角角色的UV坐标时,我执行以下操作: float textureDelta = 1.0f / 42.0f //0.0238 float u = 0; float v = 0; glBegin(GL_QUADS); glTexCoord2f(u,1-v); glVertex2f(0,0); glTexCoord2f(u+textureDelta, 1-v)

我正试图在我的OpenGL程序中使用纹理四边形绘制文本。我的纹理尺寸是256x32,每个字符大约有6个像素大。 每行42个字符,5行

生成左上角角色的UV坐标时,我执行以下操作:

float textureDelta = 1.0f / 42.0f //0.0238
float u = 0;
float v = 0;

glBegin(GL_QUADS);
glTexCoord2f(u,1-v); glVertex2f(0,0);
glTexCoord2f(u+textureDelta, 1-v); glVertex2f(16,0);
glTexCoord2f(u+textureDela, 1-v + textureDelta); glVertex2f(16,16);
glTexCoord2f(u, 1-v+textureDelta); glVertex2f(0,16);
glEnd();
我遇到的问题是,我的V坐标似乎完全错了,而V坐标似乎总是在底部,我该如何解决这个问题

另外,如何处理空间?

对于u坐标来说,这看起来很好。但是,由于在v方向上只有5行,因此需要根据行数计算该坐标的不同增量:

float uDelta = 1.0f / 42.0f;
float vDelta = 1.0f / 5.0f;

glTexCoord2f(u, 1.0f - v); ...
glTexCoord2f(u + uDelta, 1.0f - v); ...
glTexCoord2f(u + uDelta, 1.0f - v + vDelta); ...
glTexCoord2f(u, 1.0f - v + vDelta); ...

你的问题是什么?我的部分问题被删除了,我会更新的