我有我的OpenGL图形,我想确定比例。我现在拥有的是什么。
虽然我的表格比例正常(如4:3),但一切看起来都不错。但是当我将形状重新调整为大约(20:2)时,图像变得伸展(这种效果我想避免)。
正常比例
伸出的比例
我使用着色器方法。 我的矩阵设置如下:
projectionMatrix = Matrix4.CreateOrthographic(Width, Height, 10000f, -10000f);
viewMatrix = Matrix4.CreateTranslation(0.0f, 0.0f, 0.0f);
modelMatrix = Matrix4.Scale(1.0f);
渲染时:
viewMatrix = Matrix4.CreateRotationY((float)xrot) *
Matrix4.CreateRotationX((float)yrot) *
Matrix4.Scale((float)scale);
program.SetValue(projectionMatrix);
program.SetValue(viewMatrix);
program.SetValue(modelMatrix);
答案 0 :(得分:2)
当窗口的宽高比发生变化时,您必须重新创建并重新提交投影矩阵。