如何修复输出的比例

时间:2014-07-22 09:13:24

标签: c# opengl opentk

我有我的OpenGL图形,我想确定比例。我现在拥有的是什么。

虽然我的表格比例正常(如4:3),但一切看起来都不错。但是当我将形状重新调整为大约(20:2)时,图像变得伸展(这种效果我想避免)。


正常比例

normal proportions

伸出的比例

outstretched proportions

我使用着色器方法。 我的矩阵设置如下:

    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);

1 个答案:

答案 0 :(得分:2)

当窗口的宽高比发生变化时,您必须重新创建并重新提交投影矩阵。