解决因OpenGL渲染窗口高宽比导致图形变形
在 OpenGL 中,由于窗口的 宽高比(aspect ratio) 与绘制内容的坐标系统不一致,图像会出现拉伸、压缩等变形现象。为了解决这个问题,可根据窗口的大小调整投影矩阵,确保图像在视觉上保持原始比例。
先通过glViewPort调整视口
void resizeGL(int w, int h) {
glViewport(0, 0, w, h);
}
再根据窗口高宽比,计算出合适的投影矩阵,这样体现出来的样式,就是截掉了宽高比之外的内容,显示的内容不变形,正圆就是正圆,不会被拉伸成...
leiex.com1 min read