OpenGL с glTexCoord - изображения с множеством плиток могут стать утомительными? - PullRequest
0 голосов
/ 26 марта 2012

http://i.imgur.com/9EdMG.png

Это изображение представляет собой алфавитное изображение размером 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);

Поскольку 1/13 (0,0769) из 78 - это 6, а 1/4 (0,25) из 24 - это 6, является ли это чем-то вроде того, чтоЯ хочу сделать, чтобы выделить письмо?Я просто уверен, что это путь.

1 Ответ

2 голосов
/ 26 марта 2012

Возможно, вы захотите написать функцию / метод для создания текстурных координат для одного символа. Поскольку вы знаете количество символов, а также размеры, вы можете просто передать символ в этот метод, вычислить координаты и вернуть их, например,

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
}
...