Tagged: 

Viewing 1 reply thread
  • Author
    Posts
    • #7605 Score: 1
      Zr Lian
      Participant
      1 pt

      请问在draw函数中获取viewspace_pos为什么要乘以view矩阵?这样子相当于固定相机而改变了小牛在空间中的位置,那这样后面的光源坐标也应该乘这个view矩阵?

      This post has received 1 vote up.
      Attachments:
      You must be logged in to view attached files.
    • #16630 Score: 0
      CheapMeow
      Participant

      个人理解是,我们已经固定了:

      摄像机的中心:世界坐标原点

      摄像机的前方向 g:-Z 方向

      摄像机的上方向 t:Y 方向

      在计算光线的时候,我们就是默认相机是这样固定的,不然我们在考虑光线的时候,我们还需要把相机的位置和角度纳入计算中,更麻烦了

      所以光线的计算是在观察空间中的,所以 viewspace_pos 是三角形顶点坐标经过 MV 变换之后的观察空间的坐标

      而 shader 中的光源的位置就是写死了观察空间中的位置

      感觉实际中光源的位置也是一个传入的值,或许也是需要经过变换的,但是在这个 shader 里为了简单就写死了

      参考:

      作业3 interpolated_shadingcoords

Viewing 1 reply thread
  • You must be logged in to reply to this topic.