Java OpenGL和glTexCoord-图像有许多瓷砖可能会变得单调乏味?

Java OpenGL和glTexCoord-图像有许多瓷砖可能会变得单调乏味?,java,image,opengl,lwjgl,Java,Image,Opengl,Lwjgl,这张图片是一张78*24的字母表图片,每个字母都是6*6,总共52个正方形 使用glTexCoord从图像中提取一个字母不是有点乏味吗 GL11.glTexCoord2f(0,0); GL11.glTexCoord2f(0.0769f,0); GL11.glTexCoord2f(0.0769f,0.25f); GL11.glTexCoord2f(0,0.25f); 因为78的1/13(0.0769)是6,24的1/4(0.25)是6,这就是我想要做的,挑出一封信吗?我只是

这张图片是一张78*24的字母表图片,每个字母都是6*6,总共52个正方形

使用glTexCoord从图像中提取一个字母不是有点乏味吗

  GL11.glTexCoord2f(0,0);

  GL11.glTexCoord2f(0.0769f,0);

  GL11.glTexCoord2f(0.0769f,0.25f);

  GL11.glTexCoord2f(0,0.25f);

因为78的1/13(0.0769)是6,24的1/4(0.25)是6,这就是我想要做的,挑出一封信吗?我只是想确定这是正确的方法。

您可能需要编写一个函数/方法来为单个角色创建纹理坐标。由于您知道字符的数量以及尺寸,您可以将字符传递到该方法中,因此计算坐标并返回这些坐标,例如

Vector2D[] getCharacterCoords(char c) {
  //calculate the coords with the knowledge that you have 78 * 24 pixels and a character is 6 * 6
  //thus resulting in a 13 * 4 character grid.

  //Note: since ASCII 'A' is code 65 and 'a' is 97 you'd need to subtract those values accordingly
}

这可能会很乏味,但是你可以编写一个函数来抽象出细节,然后在实际的绘图代码中调用这个函数。谢谢,我想我的思路是对的。是的,自动化听起来是个好主意,我接下来会做一些这样的事情。