Tagged: 

Viewing 4 reply threads
  • Author
    Posts
    • #5185 Score: 0
      LSHlq
      Participant

      作业六结果为一片蓝,希望各位帮我找一下错误orz

      Attachments:
      You must be logged in to view attached files.
    • #5199 Score: 0
      戴皓天
      Participant
      8 pts

      第三张图也就是4-3.PNG,那个if(!dirIsNeg[x])里面不用取反,直接交换两者就行了,如果方向是负的说明他就是超这个方向照射的,如果算出来t是负的那么说明光线是不经过这个box的,你这样似乎就弄反了,你可以试着画个图

      • #5201 Score: 0
        戴皓天
        Participant
        8 pts

        假设光源在O1,方向就朝箭头方向
        此时为了举例就先看x方向上的计算
        那么此时pMin.x-O1.x<0,因为此时dir.x<0
        所以min_tx此时求出来本身是大于0的
        再看图,这个O1出发的光线明显是会经过bound的,所以哪怕dir是负的你也不应该取反

        再假设光源在O2
        看x方向
        此时pMin.x-O1.x>0,因为此时dir.x<0
        所以min_tx此时求出来本身是<0的,
        但是如果按你说的取反,min_tx就>0了,就变成光能够通过bound了
        但是由图可知这个光线如果在O2出发,那么是不可能经过bound的

        所以总之我认为不应该取反,直接交换min和max的位置就行了

        • This reply was modified 2 years, 1 month ago by 戴皓天.
        Attachments:
        You must be logged in to view attached files.
        • #5204 Score: 0
          clarence
          Participant
          -2 pt

          确实是不需要取反的,我自己写的代码也没取反,但有一个地方不知道你解决了没有。我看论坛上的人,包括我自己得到的eye ray都不需要减去eye_pos就能得到正确结果,而减去了eye_pos的却一片蓝。

          • #5206 Score: 1
            cmc233
            Participant
            6 pts

            eye ray和eye pos无关,它和你朝哪个方向看有关,默认的应该就是朝“正前方”看,即eye到画面中心是(0,0,-1)

            This post has received 1 vote up.
            • #5207 Score: 0
              clarence
              Participant
              -2 pt

              我懂了,谢谢解答。几何学得还不够到位,还需努力。

            • #5264 Score: 0
              Keneyr
              Participant
              6 pts

              这为啥和eye_pos没关系呢?ray的产生不就是从摄像机出发,经过像素点中心吗?
              既然从摄像机出发,计算方向不就应该减去eye_pos吗?

    • #5228 Score: 0
      whirlwind
      Participant

      楼主问题解决了吗,我也遇到了相似的问题。。。并且我也没有取反呀?
      Debug发现所有求交的三角形normal与ray点乘大于0,这是为什么

    • #5231 Score: 0
      LSHlq
      Participant

      问题已解决,谢谢解答,不取反就可以了

    • #6537 Score: 0
      DoubleQ
      Participant
      2 pts

      为什么我没有取反,eye_pos也没有减但还是一片蓝

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