【问题标题】:Intersect picked Ray with shapes in OpenGL将拾取的光线与 OpenGL 中的形状相交
【发布时间】:2011-10-13 12:31:37
【问题描述】:

我正在尝试在 OpenGL 中执行挑选,并且在 1 中有 3 个问题。

  1. 我使用了两次 Unproject 命令,一次使用 0,一次使用 1 作为近端/结束平面。 有些文章说 0 和 1 都可以,有些文章说我应该使用计算出的深度。我应该吃哪一个?

  2. 然后,假设我可以减去两个结果,这给了我一条射线(射线从我的“相机”到 x,y,z 指示的方向,对吗?x,y,z 是绝对的值还是相对于我的“相机”?

  3. 现在我有了射线,我怎样才能将它与形状相交?顺便说一句,我如何列出现有形状并计算它们与射线的坐标?

【问题讨论】:

  • gluUnproject() 出了什么问题?
  • 其实没什么。我刚得到结果,但不确定它们是否合适。但是我现在可以实现我想要的,所以当把 0 和 1 放在一起时它们似乎很好;

标签: xcode macos opengl 3d picking


【解决方案1】:

2 - 您的光线将与相机相关,只需将其乘以相机逆变换即可。

3 - 几乎所有目的,您都需要一个空间细分算法(二进制空间分区、边界体积层次等),并且您应该维护一个已创建形状的列表...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多