是否可以将相机深度投影到平面上?
让我解释一下,如果我只是在平面上传输深度缓冲区,它将始终显示从相机角度看的深度。但是我怎样才能继续显示深度,但从平面的角度来看。
我想将效果应用于着色器。对我来说,这可能是一个矩阵问题,但我不明白。
问问题
338 次
1 回答
2
深度缓冲区是相对于表示的,可以使用(例如)着色器将其投影到任何平面。但..
深度缓冲区不是对象的完整几何表示,而只是来自摄像机 POV 的“被看到”表面。如果您投影深度缓冲区,部分对象可能不会被投影(见图)。
在图片中,相机(红眼)正在注视一个物体(黑色)。深度缓冲区表示相机和红色表面之间的距离。对于平面(蓝线),您可能想要获得整个对象投影(蓝色表面),但是将红色表面投影到平面上,您只会得到整个蓝色表面的一小部分。
如果你想要整个蓝色表面,
- 将摄像机的 POV 更改为就在飞机后面。
- 渲染场景。
- 获取深度缓冲区并将其保存到纹理/图像/缓冲区(P)中。
- 重置你的相机 POV
- 使用图像着色器渲染场景 (P)
于 2013-06-19T09:57:27.423 回答