画三角形的时候我们是在哪里画?屏幕上。
用到几个参数? 只有 x , y。 z用于是否可见。
简单的说,你拿到的三角形是经过了 MVP变换 并且 经过 viewPort变换后的三角形。在这里计算法向量是没有任何用处的。
法向量对于光线追踪或者光栅化光照模型的颜色计算非常重要。
以Bling_phong为例,用到法向量的时候,法向量处在camrea space。 计算三角形内某一点的颜色,使用的坐标也在 camrea space。光源也在camrea space。
总结:
你拿到的一个三角形,对于屏幕里三角形里的某个点,通过 z_buffer 算法判断是否可见。可见的话就转到 camrea space 里进行着色,算出的颜色放到屏幕上。
建议观看Games101 以及作业3 render.cpp。
引用:
1. fundamentals of computer graphics-5th 第八章 Viewing
2. Games101 7-9
3. Games101 作业三 render.cpp
赞
2
评论
评论于 618 天前