|
|
发表于 2008-3-8 01:29:00
|
显示全部楼层
Re:怎样区域选中物体?
方法1:(简单,精确,速度慢)
每个物体用不同color,或者 depth value,或者stencil,render到一个texture,然后读回来,把选择框映射到texture的坐标,对框内所有texel,把数据读出来,然后根据 color/depth value/stencil,找出对应的物体。
方法2: (麻烦,不精确,速度快)
根据对应的选择区域建立一个 view projection matrix, 对每个物体的AABB做 world view projection,结果在-1,1(也可能是0, 1,dx 和 ogl可能有不同,具体不记得了)可以选择。
方法3: (麻烦,比较精确,速度中等)
同方法2,如果落在区域内,继续对每个vertex做world view projection,如果有vertex落在区域内,才选择。
方法4: (非常麻烦,比较精确,比较快)
需要给物体建立collision capsules 或者 convex hull, 同方法2,不过做变换的是collision capsules或convex hull, 不是AABB. 不需要近一步做vertex projection.
|
|