在屏幕上挑选对象时背后的主要内容是什么?

时间:2013-08-17 04:28:57

标签: graphics 3d

对于一般的3D图形应用程序,我们通过点击窗口看到,我们可以在场景图中选择一个对象,我想知道3D图形中这个屏幕选择背后的原理是什么?

1 个答案:

答案 0 :(得分:1)

通常你会想要实现这样的鼠标拾取(光线拾取):

  • 获取网格及其边界体积
  • 像往常一样将网格物体及其边界体积转换为世界空间(使用其世界矩阵)
  • 取鼠标光标坐标(x,y)
  • unproject(“撤消投影”)使用逆视图和反投影矩阵在世界空间中将2D屏幕空间鼠标坐标转换为3D光线
  • 检查光线和网格边界体积(粗糙,快速)和/或网格三角形(精确,慢速)之间的碰撞
  • 如果相交,则将对象标记为已选中
  • 重复所有对象
  • 如果选择了多个对象,请选择离相机最近的

BTW,quick googling通过使用不同编程语言的实际实现,返回了关于该主题的大量理论信息。