0

我想从原点以不同的翻译随机创建对象,但我想保证它们始终可见,这意味着我不想仅仅丢弃它们不可见的对象。假设我的视图矩阵是一个恒等式,我可以随机计算对象至少部分可见的位置吗?使用一些基本的三角学,在知道纵横比和近远 z 值的情况下,我可以计算透视平截头体的尺寸。问题是,如果我想在截锥体中的随机 x 位置绘制一个对象,它的随机 z 位置很可能会将其置于视野之外。有什么建议么?

4

1 回答 1

1

我假设你知道你是如何设置你的平截头体的,所以应该知道平截头体的参数:左、右、下、上、近、远

通常你需要相机的viewingDirection、cameraPosition和upVector来确定截锥体内的位置,但是因为view matrix是identity,所以viewingDir是(0,0,-1),camPosition是(0,0,0),upVector是(0,1,0)。

因此,您只需检查您的随机点是否位于(左、下、-near)和(右、上、-远)之间。

于 2013-04-08T07:15:48.823 回答