OpenGL(四)——有用的函数
概述
1. reshape
定义窗口和图像的映射关系,使在不以纵横比4:3调整窗口大小时,图像不会失真
函数
1. ReShape
如果变更后的窗体的横纵比大于4/3,需要以高为基数,宽为高*4/3,并截取中间部分;
横纵比小于4/3类推
void reshape(GLsizei width, GLsizei height) { float w_aspect = 4.0 / 3.0; float aspect = ((float)width) / height; if (aspect <= w_aspect) { glViewport(0, (height - width / w_aspect) / 2, width, width / w_aspect); } else glViewport((width - height * w_aspect) / 2, 0, height * w_aspect, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(-4.0, 4.0, -3.0, 3.0); }
浙公网安备 33010602011771号