#16630 Score: 0
CheapMeow
Participant

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

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

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

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

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

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

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

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

参考:

作业3 interpolated_shadingcoords