使用4x3矩阵创建平面阴影?

时间:2009-08-10 06:05:35

标签: c++ math directx matrix

我只想知道如何从4x3矩阵创建平面阴影,我见过的所有在线演示都使用了4x4矩阵。

3 个答案:

答案 0 :(得分:2)

我猜这是通过将3D物体投影到平面上来完成的,该平面基本上需要第四个坐标来表示无穷大。如果只使用3个坐标,则只能表示| R ^ 3。但是,对于像阴影这样的投影,你需要完整的3个空间,因此包括无穷大 - 所以你需要第四个坐标。

我猜你可以用三角法解决这个问题而不是矩阵。

你想要完成的是什么?

答案 1 :(得分:1)

如另一个答案所述,你真的需要4x4来编码投影。

如果它有任何帮助,你可以通过将高度轴缩放到0并将压扁的几何体平移到地平面来直接进行头顶阴影。有点垃圾,但可能是你可以使用的东西。几年前我曾在一个实际上想要阴影的项目中使用过这个。

答案 2 :(得分:0)

你有什么理由不能使用阴影贴图吗?要执行阴影贴图,可以从光源渲染深度值。然后在渲染普通图像时,将像素转换为光的空间。如果它的深度大于阴影贴图中的深度,那么它的阴影会被阴影遮挡。

Wikipedia有一个很好的解释。网络周围有更多的资源。谷歌的“影子映射”