У меня есть вопрос об использовании шрифтов freetype в opengl.
Я сейчас читаю этот урок http://www.freetype.org/freetype2/docs/tutorial/step1.html
и есть пример кода
http://www.freetype.org/freetype2/docs/tutorial/example1.c
В методе draw_bitmap
FT_Int i, j, p, q;
FT_Int x_max = x + bitmap->width;
FT_Int y_max = y + bitmap->rows;for ( i = x, p = 0; i < x_max; i++, p++ )
{
for ( j = y, q = 0; j < y_max; j++, q++ )
{
if ( i < 0 || j < 0 ||
i >= WIDTH || j >= HEIGHT )
continue;
image[j][i] |= bitmap->buffer[q * bitmap->width + p];
}
}
они заполняют массив unsigned char image[HEIGHT][WIDTH];
с данными
а затем показать изображение в консоли, используя putchar
,
int i, j;for ( i = 0; i < HEIGHT; i++ )
{
for ( j = 0; j < WIDTH; j++ )
putchar( image[i][j] == 0 ? ' '
: image[i][j] < 128 ? '+'
: '*' );
putchar( '\n' );
}
Так что вопрос — этот массив image
такое матрица, которая содержит координаты пикселей на экране? А для того, чтобы нарисовать пиксель мне нужно использовать glRasterPos2i?
Вы можете попробовать загрузить image
в качестве текстуры, затем визуализируйте эту текстуру на четырехугольнике.
У этого парня были проблемы, и они решались, должен быть код, который вы ищете:
Проблемы с копированием растрового изображения в текстуру OpenGL
Других решений пока нет …