|
|
发表于 2004-10-8 14:24:00
|
显示全部楼层
Re:在摄像机空间里的Z排序
方法很多。
1) 如果知道camera到objects的距离,而且LookAt已经归一化了,你可以直接用点积。
2) 用View Frustum的near plane,如果知道该plane的方程的话,就将那些objects的坐标代入,得到的就是你要的了。
3) 如果你没有View Frustum在手,直接将objects的坐标与转换投影矩阵相乘,不过值得注意的是,得到的结果不是其真正的到near plane的距离。(范围是[-1,1], 且变化不是线性关系) 不过你只需根据大小来排序就可以了。
4)如果你认为第一种方法求距离太慢,可以使用所谓的Manhattan Distance = abs(x1-x2) + abs(y1-y2) + abs(z1-z2), 然后根据大小排序。(精确度不高但可以接受)
............
第一种大概是最简单的。 |
|