是否可以在使用glBitmap绘制的位图上使用glScalef?

问题描述

我正在制作使用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。