Tagged: 

Viewing 4 reply threads
  • Author
    Posts
    • #5010 Score: 0
      枫吟
      Participant
      1 pt

      作业六的代码在win,IDE是vs。显示recursiveBuild里
      node->left = recursiveBuild(std::vector{objects[0]});
      node->right = recursiveBuild(std::vector{objects[1]});
      这两条语句出错,E0289 没有与参数列表匹配的构造函数 “std::vector” 实例

      同时还有LNK2001 无法解析的外部符号 “public: double & __cdecl Vector3f::operator[](int)” (??AVector3f@@QEAAAEANH@Z) Debug F:\GAMES\Debug\Debug\BVH.obj 1

      在虚拟机的环境里报错在附件里。哪位大佬帮忙看一下是怎么回事qaq

      而且我还有一点不是很明白,在Bounds3::IntersectP(const Ray& ray, const Vector3f& invDir,const std::array<int, 3>& dirIsNeg)里,dirIsNeg这个参数是在哪里需要,为什么感觉不需要这个参数一直没有用到。

      Attachments:
      You must be logged in to view attached files.
    • #5015 Score: 0
      mvp
      Participant
      2 pts

      改成这样好像编译就不报错了,std::vector<Object*>{objects[0]}

      • #5024 Score: 1
        枫吟
        Participant
        1 pt

        你好,我改完后这两条语句不报错了,但还是有LNK2001 无法解析的外部符号 “public: double & __cdecl Vector3f::operator[](int)” (??AVector3f@@QEAAAEANH@Z) Debug F:\GAMES\Debug\Debug\BVH.obj 1。请问这是怎么回事qaq

        This post has received 1 vote up.
    • #5022 Score: 0
      JunjieLi
      Participant

      dirisNeg我是这么用的,例如,如果x>0,那么x小的就是近的,x大的就是远的;反之x<0时,x大的就是近的,x小的就是远的

      • #5026 Score: 0
        枫吟
        Participant
        1 pt

        但是感觉没必要额,在构造bound3时,pMin和pMax就已经大小关系固定了。pMin算的就是进入时间,pMax算的是出去的时间,直接按时间比较就可以了,感觉没必要关心符号的问题额

        • #5027 Score: 0
          枫吟
          Participant
          1 pt

          哦,我想明白了。多谢多谢

          • #5252 Score: 0
            Keneyr
            Participant
            7 pts

            老铁,我没想明白这个变量咋用,你能再解释下不

    • #5028 Score: 1
      mvp
      Participant
      2 pts

      我猜你使用了Vector3f的索引方法,但可能这个索引方法还有点问题,如果你要访问Vector3f变量中的元素,可以使用v.x,v.y和v.z的方式访问。

      This post has received 1 vote up.
      • #5029 Score: 0
        枫吟
        Participant
        1 pt

        对的,我把那部分索引的代码补全了就好啦QAQ

    • #5237 Score: 2
      arc
      Participant
      5 pts

      Vector.hpp 中只声明了 double& operator[](int index), 但没有给出其定义, 导致编译器在链接时找不到该函数.

      This post has received 2 votes up.
Viewing 4 reply threads
  • You must be logged in to reply to this topic.