【问题标题】:Creating an OpenGL projection matrix to shear an object创建 OpenGL 投影矩阵以剪切对象
【发布时间】:2014-05-23 18:19:05
【问题描述】:

我正在尝试渲染一个框,其中近端面与显示器的角完全对齐,但其余部分可以剪切(通过透视)有点像视差效果。基本上和this one一模一样。

我发现将我的投影矩阵乘以这个剪切矩阵会产生正确的效果:

Shear = {
   1   0  -cot(theta) 0
   0   1  -cot(phi)   0
   0   0       1      0
   0   0       0      1
}

然而,视图体积似乎在体积中心周围发生剪切,因此一旦您开始旋转,框的正面就会在显示区域之外摆动。

也许我可以改变模型或视口来补偿,但这似乎是作弊。这可以用正确的投影矩阵来完成,还是有一种好方法来计算需要应用于模型视图矩阵的其他一些平移?

【问题讨论】:

    标签: opengl matrix projection-matrix


    【解决方案1】:

    首先将所需剪切的中心平移到中心,然后进行剪切,然后再平移回来。

    【讨论】:

    • @Jehof 它确实为他的问题提供了答案,即如何将剪切围绕他选择的点居中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    相关资源
    最近更新 更多