假设我的剪辑音量在所有x,y,z中都是[-2,2]。我想在mv.js中使用内置的透视函数,它接受参数fovy,aspect ratio,-near,-far
我不明白如何选择这些参数,尤其是-near,-far
。
答案 0 :(得分:0)
不知道MV.js是什么,但通常你perspective
函数采用zNear和zFar参数。您可以相对于场景的比例设置它们。在您的情况下,您可以将它们设置为zNear = 0.001
和zFar = 4
这将使你的平截头体(你可以看到它的形状像一个4边锥形的空间),这样你就可以看到距离原点最多-4个单位的-0.001个单位。如果将zNear
设置为0.1,那么-0.09会被剪裁。
我不明白你的意思假设我的剪辑音量在所有x,y,z 中都是[-2,2]。在所有x,y,z中,WebGL的剪辑体积始终为-1,1
在应用透视矩阵的正常用例中,剪辑体积变为参数定义的平截头体。 z剪辑音量变为-zNear到-zFar。 X和Y剪辑体积沿Z轴缩放。 at -zNear Y剪辑从-zNear / 2到+ zNear / 2,xAxis从-zNear / 2 * aspect到+ zNear / 2 * aspect。在zFar X和Y轴上进行缩放,以便获得所请求的视野。
由this page上的透视功能定义的剪辑空间的实时图像。