OpenGL 中的 FreeType 2 用法

freetype 2 usage in opengl

本文关键字:用法 FreeType 中的 OpenGL      更新时间:2023-10-16

我有一个关于在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 纹理时出现问题