Vector 我可以在OpenGL ES 2.0中计算透视平截头体的精确视觉尺寸吗

Vector 我可以在OpenGL ES 2.0中计算透视平截头体的精确视觉尺寸吗,vector,opengl-es-2.0,perspective,Vector,Opengl Es 2.0,Perspective,我想从原点随机创建不同翻译的对象,但我想保证它们始终可见,这意味着我不想丢弃它们不可见的对象。假设我的视图矩阵是一个恒等式,我可以随机计算对象至少部分可见的位置吗?使用一些基本的三角学,在知道纵横比和远近z值的情况下,我可以计算透视平截头体的尺寸。问题是,如果我想在平截头体的随机x位置绘制一个对象,它的随机z位置很可能会使它看不见。有什么建议吗?我假设您知道如何设置平截体,因此平截体的参数应该是已知的:左、右、下、上、近、远 通常,您需要摄像机的viewingDirection、cameraPo

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

我假设您知道如何设置平截体,因此平截体的参数应该是已知的:左、右、下、上、近、远

通常,您需要摄像机的viewingDirection、cameraPosition和upVector来确定截锥体内的位置,但由于视图矩阵是恒等式,viewingDir是(0,0,-1),camPosition是(0,0,0),upVector是(0,1,0)


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

谢谢,德克。事实上,这和我下的决心是一样的。很高兴知道这是有道理的。