我想将单色 FreeType 字形转换为 RGBA 无符号字节 OpenGL 纹理。像素 (x, y) 处的纹理颜色为 (255, 255, alpha),其中
alpha = glyph->bitmap.buffer[pixelIndex(x, y)] * 255
我使用加载我的字形
FT_Load_Char(face, glyphChar, FT_LOAD_RENDER | FT_LOAD_MONOCHROME | FT_LOAD_TARGET_MONO)
目标纹理的尺寸为glyph->bitmap.width * glyph->bitmap.rows
. 我已经能够索引一个灰度字形(使用 just 加载FT_Load_Char(face, glyphChar, FT_LOAD_RENDER)
)
glyph->bitmap.buffer[(glyph->bitmap.width * y) + x]
不过,这似乎不适用于单色缓冲区,并且我的最终纹理中的字符被打乱了。
在单色字形缓冲区中获取像素 (x, y) 值的正确方法是什么?