Home Forums GAMES在线课程(现代计算机图形学入门)讨论区 作业6 如何理解作业框架内进行了两次BVH构建

Tagged: 

Viewing 3 reply threads
  • Author
    Posts
    • #7814 Score: 0
      SycnhronizX
      Participant
      5 pts

      在作业中,第一次进行构建是在MeshTriangle导入模型的时候,此时是以MeshTriangle的身份构建,每个元素都是三角形,此时显示有4000+个primitive被传入BVH的构造函数中(此时的Object是Triangle)。然后在scene.add和scene.buildBVH的时候似乎又调用了一次BVH的构建,此时primitive的数量是1(显然是因为是以MeshTriangle整体为Object)。
      我个人感觉这么处理有点怪,因为BVH也是建立在整个场景下的,所以肯定是一次性导入所有模型然后建立BVH。这种在载入模型时就建立的BVH是不是有什么说法,有没有大佬可以解释下这么做的原因。

    • #7836 Score: 0
      小熊猫
      Participant

      MeshTriangle 构建时 BVH object 是 Triangle
      buildBVH 时 BVH object 是 MeshTriangle

    • #8897 Score: 0
      凉白开
      Participant

      自我认为,是为了层次分明。
      MeshTriangle相当于把多个triangle封装为一个object,这样Scene就可以只针对Triangle构建bvh,而不用针对每一个triangle构建bvh,不然Scene里就有无数个object。

    • #8898 Score: 0
      凉白开
      Participant

      打错了,这样Scene就可以只针对MeshTriangle构建bvh

Viewing 3 reply threads
  • You must be logged in to reply to this topic.