问题描述
我正在制作使用FreeType 2和旧版OpenGL的文本渲染器。问题是,当OpenGL的坐标系为笛卡尔时,FreeType 2的坐标系在左上角具有(0,0)。这意味着我必须翻转位图。我期望glScalef可以与glBitmap一起使用,但是没有效果。谁能告诉我是否可以使用glScalef垂直翻转位图,或者如果不能,请指出其他可以翻转位图的来源(最好是效率最高)?
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glScalef(1.0,-1.0,1.0)
glBitmap(size_x,size_y,xadd,yadd,(glubyte *) bitmap);
解决方法
您要寻找的功能是glPixelZoom
。
像素缩放系数不限于正值。负缩放因子会反映出有关当前栅格位置的结果图像。
它肯定会对glDrawPixels
产生预期的效果。 glBitmap
中有一条注释,说它的行为类似于glDrawPixels
,但是我找不到关于glPixelZoom
是否适用于glBitmap
的任何明确声明,所以YMMV。