检查屏幕上是否显示Vector3

时间:2013-08-22 13:13:51

标签: c# 3d xna camera

我想知道是否有一种方法来检查相机是否正在查看3D空间中的Vector3点,或者可能检查该点是否显示在屏幕上。

1 个答案:

答案 0 :(得分:4)

是的,只需将您的视图和投影矩阵输入到这样的边界平截头体中:

//class scope variables
BoundingFrustum boundingFrustum;

//in the init method
boundingFrustum = new BoundingFrustum();

//In the Update method or wherever you need to run a check check
boundingFrustum.Matrix = view * projection;

bool isPointInView = boundingFrustum.Contains(Vector3ToTest);