В настоящее время я работаю над проектом OPENGL ES 2.0. Я делаю приложение гистограммы. Я добился успеха в создании графика. Я пытаюсь вставить текст на графике. Я обнаружил, что не существует прямого решения для достижения того же.
Я наткнулся на код OPENGL ES 1.1, в котором есть следующие строки.
Файл: в GLViewController.m (из функции drawView)
Texture2D *textTex = [[Texture2D alloc] initWithString:@"Text"
dimensions:CGSizeMake(100., 40.0)
alignment:UITextAlignmentCenter
font:[UIFont boldSystemFontOfSize:10.0]];
[textTex drawAtPoint:CGPointMake(160.0, 100.0) depth:-1];
В файле Texture2D.m,
- (void) drawAtPoint:(CGPoint)point depth:(CGFloat)depth
{
GLfloat coordinates[] = {
0, _maxT,
_maxS, _maxT,
0, 0,
_maxS, 0
};
GLfloat width = (GLfloat)_width * _maxS,
height = (GLfloat)_height * _maxT;
GLfloat vertices[] = {
-width / 2 + point.x, -height / 2 + point.y, depth,
width / 2 + point.x, -height / 2 + point.y, depth,
-width / 2 + point.x, height / 2 + point.y, depth,
width / 2 + point.x, height / 2 + point.y, depth
};
glBindTexture(GL_TEXTURE_2D, texture.name);
glVertexPointer(3, GL_FLOAT, 0, vertices); //1
glTexCoordPointer(2, GL_FLOAT, 0, coordinates); //2
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
}
Когда я пытался преобразовать этот код в код OPENGL ES 2.0, я не смог найти подходящего преобразования для строк, отмеченных 1 и 2. Может ли кто-нибудь помочь мне преобразовать этот код в код OPENGL ES 2.0?
Или, если кто-нибудь знает о более простом способе написания текста на экране, сообщите мне.