Home Forums GAMES在线课程(现代计算机图形学入门)讨论区 为什么作业6的ray direction 减去eye_pos是不对的?

Viewing 3 reply threads
  • Author
    Posts
    • #5220 Score: 0
      xuyichao
      Participant

      光线方向只是用归一化的(x,y,-1),结果是对的。如果按照课件上减掉eye_pos就不对了。
      这是为什么?

    • #5233 Score: -1
      clarence
      Participant
      -2 pt

      因为得到的方向向量是基于原点计算得到的,同时方向向量位移并不改变性质,所以不需要减去eye_pos。

      This post has received 1 vote down.
    • #7042 Score: 0
      重归混沌
      Participant

      我查看了一下obj文件,发现基本上坐标都在-10,10之间,而eye_pos太近了,减了eye_pos之后,导致FOV不对,所以看不到了。

      我使用光栅化时的算法构造了一个-1,1的投影平面,然后把eye_pos到投影屏幕的距离设置到15左右,效果就跟不减eye_pos差不多了。

    • #10523 Score: 0
      willzhu
      Participant

      我理解这是由ray的表示方法决定的,在公式:ray = ori + t*dir 中,dir向量是一个方向向量,而方向向量默认以原点为起点,如果减去eye_pos,其实得到的是另一个方向;
      PS:作业5中,eye_pos在原点只是个巧合

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