今天热门
热点:

如何理解projection window,projectionwindow


<<Introduction to 3d game programming with directx9>>提到了Projection window,
Projection window难道不是near plane吗?书上是分开画的,
“Projection window,Direct3D defines to coincide to the plane z = 1”,
这里的z=1是相对于用户定义frustum时指定的值吗?如near=0.1, far=1000.0,projection window=1位于他们之间?
或是投影之后[0, 1]的z=1?

我一直的理解是投影到near plane,然后near plane映射到viewport。
   

    

解决方案

投影并不是把物体投影到近平面,而是把近平面和远平面之间的物体投影到投影平面

其实并不存在一个真的投影平面
就像我们照相一样,照下的物体并不是真正放到哪一个平面上

如果非要找这个平面,那你可以想象投影平面上的点经过投影变换后是不变的.
经过投影变换后点x,y坐标的范围是[-1,1],所以如果x分量-1经过变换后仍然是-1,那么你可以当那个点的z就是投影平面的z

对于fov=90度,可以容易判断当z=1的时候,x=-1经过变换仍然是-1,可以说那个平面是z=1

或者说我们知道透视的原理是近大远小,也就是说与z成反比,简单地说就是x' = x/z.不考虑窗口的拉伸的话。

那么当z=1的时候, x'=x,大小一致。 

www.zrccd.nettrue/topics/20180124/125185.htmlTechArticle如何理解projection window,projectionwindow Introductionto3dgameprogrammingwithdirectx9提到了Projectionwindow, Projectionwindow难道不是nearplane吗?书上是分开画的, “Projectionwindow,Direct3Ddefinestocoincidetothepla...

相关文章

    暂无相关文章

用户评论

大家都在看