Geometry 透视投影:证明1/z是线性的?
在3D渲染(或几何体)中,在光栅化算法中,当您将三角形的顶点投影到屏幕上,然后查找像素是否与2D三角形重叠时,通常需要查找像素重叠的三角形的深度或z坐标。通常,该方法包括计算三角形2D“投影”图像中像素的重心坐标,然后使用这些坐标插值三角形原始顶点z坐标(在顶点投影之前) 现在,所有教科书都规定,不能直接插值顶点的顶点坐标,但需要这样做: (对不起,乳胶不能用了?) 1/z=w0*1/v0.z+w1*1/v1.z+w2*1/v2.z 其中w0、w1和w2是三角形上“像素”的重心坐标 现在,我要照顾的是两件事:Geometry 透视投影:证明1/z是线性的?,geometry,rendering,perspective,Geometry,Rendering,Perspective,在3D渲染(或几何体)中,在光栅化算法中,当您将三角形的顶点投影到屏幕上,然后查找像素是否与2D三角形重叠时,通常需要查找像素重叠的三角形的深度或z坐标。通常,该方法包括计算三角形2D“投影”图像中像素的重心坐标,然后使用这些坐标插值三角形原始顶点z坐标(在顶点投影之前) 现在,所有教科书都规定,不能直接插值顶点的顶点坐标,但需要这样做: (对不起,乳胶不能用了?) 1/z=w0*1/v0.z+w1*1/v1.z+w2*1/v2.z 其中w0、w1和w2是三角形上“像素”的重心坐标 现在,我要照
- 什么是证明插值z不起作用的正式证据
- 什么是证明1/z正确的正式证据
这基本上就是我们的原始方程(只需要用适当的项替换A'B'和C')。不确定你想问什么,但如果你看:
1/z = A'x/z + B'y/z + C'
并将其改写为:
1/z = A'u + B'v + C'
其中
(u,v)
是透视投影后三角形的屏幕坐标,您可以看到三角形上点的深度(z
)与(u,v)不是线性相关的<代码> > <代码> 1 /深度>代码>,这正是教科书试图教给你的。遗憾的是,考虑一下细分你的三角形的情况。请注意,原始三角形的中心不会投影到原始三角形投影角的中心。