我正在尝试渲染一个盒子,其中近脸与显示器的角完全对齐,但其余的可以剪切(有透视),有点像视差效果。基本上与this one完全相同。
我发现用我的投影矩阵乘以这个剪切矩阵会产生正确的效果:
Shear = {
1 0 -cot(theta) 0
0 1 -cot(phi) 0
0 0 1 0
0 0 0 1
}
然而视线体积似乎围绕音量中心剪切,所以一旦开始旋转,盒子的正面就会在显示区域外摇摆。
也许我可以将模型或视口转换为补偿,但这似乎是作弊。这可以使用正确的投影矩阵来完成,还是有一种很好的方法来计算需要应用于模型视图矩阵的其他平移?
答案 0 :(得分:0)
首先将所需剪切的中心转换为中心,然后剪切然后平移。