Java 使用纹理图集UV坐标的LWJGL OpenGL绘图文本
我正试图在我的OpenGL程序中使用纹理四边形绘制文本。我的纹理尺寸是256x32,每个字符大约有6个像素大。 每行42个字符,5行 生成左上角角色的UV坐标时,我执行以下操作: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)
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); ...
你的问题是什么?我的部分问题被删除了,我会更新的