最小透视矩阵的求法
遇到很多时候,需要把透视矩阵最小化,以达到性能最优。比如要求Camera只能看到一个洞口里的内容这样其它的区域是不需要进行渲染的。
这里自己写了一个求最小透视矩阵的方法。
第一步是先求出Camera到Box中心的向量vecCB,定义从Box中心到四个顶点的向量,再求出其各自到vecCB的投影向量,晕,也就是Box四个顶点到在向量上的投影点。可以通过以下方法获取到。
第二步求出四个投影点离Camera最近的点,求出以vecCB为Normal并经过这个最近点的平面P(也就是后面Camera的近平面)
第三步求出Box四个顶点到平面A上的投影点,通过以下方法获取。
目前已经把以上方法做为BoxCollider的扩展进行了封装,参考代码:
https://github.com/bennychao/commonlib
第四步求出最小可视面积,即是一个菱形最小包含正方形的方法
以一个最大边为基准做边应该是最小正方形(未证明)