5

我正在寻找一个可以在 3D 中使用的投影矩阵,它会给我带来鱼眼的效果。我不是在寻找像素着色器或类似的东西,它会操纵像素——而是用于从 3D 空间投影到 2D 的实际投影矩阵。

谢谢。

4

3 回答 3

11

那是不可能的。在齐次坐标中,矩阵将线转换为线。因此,任何仅基于矩阵的解决方案都必然无法像您想要的那样弯曲线条。

于 2010-07-17T22:52:24.743 回答
3

Carlos 没有错,但您可能想尝试在投影矩阵构建器中使用“视野 (FOV)”参数。

于 2010-07-21T08:01:27.017 回答
0

卡洛斯是对的。有一种方法可以伪造它,但您必须多次重新渲染场景。

基本上,您首先要弄清楚如何进行两点透视。我会通过使用在交替两侧具有消失点的投影矩阵来渲染场景两次。然后你把这两个部分结合起来,我猜是使用模板图。

你可以做一些类似四点透视的事情,将图像与四个消失点结合起来。您重复该过程多次。

你所做的就是投影到一个近似球体的多边形上。

我可以解释更多,但我猜这听起来太复杂了。

伪造它的最简单方法是渲染到纹理并扭曲图像,并将其渲染为全屏四边形。

于 2010-07-23T22:19:44.053 回答