我正在使用Qt研究OpenGL 2D应用程序,并遇到了正交投影的问题。因此,整个问题在图片中进行了解释。
当我更改窗口的宽度时,对象的大小是恒定的:
但是当高度改变时......
这里是顶点着色器:
in vec4 vertex;
uniform mediump mat4 view;
void main( void )
{
gl_Position = view * vertex;
}
以下是调整大小函数的代码:
void resizeGL( int width, int height ) override
{
glViewport( 0, 0, width, height );
const auto aratio = float( width ) / float( height );
modelMatrix.setToIdentity();
modelMatrix.ortho( -aratio, aratio, -1.0f, 1.0f, -1.0f, 1.0f );
}
我做错了什么?