Нарисуйте текст в iPhone openGL ES, используя просто цель-C - PullRequest
3 голосов
/ 19 июня 2010

Необходимо нарисовать текст в openGL, а затем сделать повороты и переводы поверх него.Нужно использовать только цель-с.Любая помощь?

Ответы [ 2 ]

4 голосов
/ 22 июня 2010

Используйте Photoshop или что-то еще, чтобы создать файл текстуры, как показано ниже.

|ABCDEFGH|
|IJKLMNOP|
|QRSTU...|

sample.png

Рассчитайте UV-положение каждого символа.

float eachCharHeight = 0.125f;
float eachCharWidth = 0.125f;
char charToDraw = 'a';
int indexOfChar = charToDraw - 65; // 'a' = 65
float uValueForCharA = (float)(indexOfChar / 8) * eachCharHeight;
float vValueForCharA = (float)(indexOfChar % 8) * eachCharWidth;

Установите texcoords и рисуйте.

glPushMatrix();
glRotatef(...);  // or translate

glEnable(GL_TEXTURE_2D);
glBindTexture(texture);

float vertices[8] = {0.0f, 0.0f, 1.0f, 0.0f, ...};
float texcoords[8] = {uValueForCharA, vValueForCharA, 
                      uValueForCharA + eachCharWidth, ...};

...

glPopMatrix();
2 голосов
/ 19 июня 2010

AFAIK, в основном, есть три способа сделать это: либо вы можете визуализировать текст в виде текстуры ( см. ), либо вы можете использовать смешанную 2-d графическую библиотеку ( Quartz )с вашим opengl или, наконец, вы можете использовать, например, UILabel для отображения текста в верхней части вашего вывода opengl.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...