使用OpenGL(Windows)测量位图字体

使用OpenGL(Windows)测量位图字体,opengl,fonts,bitmap,Opengl,Fonts,Bitmap,确定OpenGL中渲染的位图字体的“像素”长度的“正确”方法是什么?我正在使用2D ortho和wglUseFontBitmaps()函数在Windows中构建字体字符列表。如果我想测量结果文本的大小(用于居中、格式化等),正确的方法是什么 我应该使用Win32 GDI GetTextExtent()API函数,还是有办法确定OpenGL中当前的“光标”位置?glRasterPos函数设置输出位置,当渲染每个字符时,输出位置自动前进。。那么是否有一个glGetRasterPos我可以使用 Ope

确定OpenGL中渲染的位图字体的“像素”长度的“正确”方法是什么?我正在使用2D ortho和wglUseFontBitmaps()函数在Windows中构建字体字符列表。如果我想测量结果文本的大小(用于居中、格式化等),正确的方法是什么


我应该使用Win32 GDI GetTextExtent()API函数,还是有办法确定OpenGL中当前的“光标”位置?glRasterPos函数设置输出位置,当渲染每个字符时,输出位置自动前进。。那么是否有一个glGetRasterPos我可以使用

OpenGL不拥有这些字体;Windows GDI必须提供这些信息。我展示了如何正确地做这件事。每字符宽度需要
GetCharABCWidths()
,高度需要
GetTextMetrics()
。查看我的
for
在formattedString.GetLength()上循环,它以像素为单位计算字符串宽度。然后可以使用
glRasterPos2d()
将文本放置在正确的位置