图形中的 "perspective correction" 是什么,什么时候应用?
What is "perspective correction" in graphics and when is it applied?
所以我一直在做我的图形作业,我已经完成了透视投影,但是今天我只是在网上看了一些关于透视校正的东西。有人可以向我解释这到底是什么以及何时应用吗?我看过几篇学术文章,但是它们太复杂了,以至于我无法理解发生了什么。
我经常看到文章提到 1/z 和一些关于对它进行插值的内容,但我对此感到困惑。到目前为止,我只是简单地使用重心坐标来插值我的 z 坐标。
这个 Therm 用于更多事情,例如:
光线追踪器中的鱼眼校正
为此,通常 cos
函数用于处理周边视图的方式略有不同,因此墙壁在视图边缘附近是平坦的而不是弯曲的。参见:
透视图像重建
从图像中获取一些修正后的参考坐标系坐标,例如:
深度缓冲(去)线性化
因此,要么你在透视除法 (z/w
) 后得到 z
坐标并想要检索原始 z
进行一些计算,要么你得到线性 z
并想要应用透视除法。
线性深度缓冲区在整个视锥体上具有相同的 z
精度,而透视分割的非线性深度缓冲区在整个视锥体上具有相同的视觉精度(离相机越远,精度越低,但在视觉上它是相同的步长)见:
有时您需要线性深度缓冲,有时需要非线性深度缓冲。对于几乎整个平截头体视图或具有大 z
覆盖范围,线性深度缓冲区是最好的,但对于靠近相机的对象,细节是非线性的更好...
非线性:
线性:
我敢打赌你说的是 #3.
所以我一直在做我的图形作业,我已经完成了透视投影,但是今天我只是在网上看了一些关于透视校正的东西。有人可以向我解释这到底是什么以及何时应用吗?我看过几篇学术文章,但是它们太复杂了,以至于我无法理解发生了什么。
我经常看到文章提到 1/z 和一些关于对它进行插值的内容,但我对此感到困惑。到目前为止,我只是简单地使用重心坐标来插值我的 z 坐标。
这个 Therm 用于更多事情,例如:
光线追踪器中的鱼眼校正
为此,通常
cos
函数用于处理周边视图的方式略有不同,因此墙壁在视图边缘附近是平坦的而不是弯曲的。参见:透视图像重建
从图像中获取一些修正后的参考坐标系坐标,例如:
深度缓冲(去)线性化
因此,要么你在透视除法 (
z/w
) 后得到z
坐标并想要检索原始z
进行一些计算,要么你得到线性z
并想要应用透视除法。线性深度缓冲区在整个视锥体上具有相同的
z
精度,而透视分割的非线性深度缓冲区在整个视锥体上具有相同的视觉精度(离相机越远,精度越低,但在视觉上它是相同的步长)见:有时您需要线性深度缓冲,有时需要非线性深度缓冲。对于几乎整个平截头体视图或具有大
z
覆盖范围,线性深度缓冲区是最好的,但对于靠近相机的对象,细节是非线性的更好...非线性:
线性:
我敢打赌你说的是 #3.