① Gouraud shading details
讲了一下如何用扫描线来线性插值确定一个polygon内部的intensity(亮度)。
在这里有点迷糊,不清楚Gouraud shading 和 phong shading的区别,于是百度了一下,看到一篇论文不错就存起来了。。可以附上链接:
http://www.nbb.cornell.edu/neurobio/land/OldStudentProjects/cs490-95to96/guo/report.html
Gouraud shading 插的是intensity,相当于是利用了若干vertex的光照信息直接模拟了最终结果;phong shading插的是每个vertex的normal(法向量),有了模拟出来的法向量就基本可以模拟出这个曲面的样子了,就可以进行高光模拟了。
此外,phong shading和phong illumination model是不一样的。后者是一种光照模型,Both the gouraud shading and the phong shading will use phong illumination model to calculate intensities. 区别是,gouraud shading是通过这个模型计算出了polygon的顶点亮度信息,然后插值出结果;phong shading是先插值出法向量,然后再运用这个模型,得到结果。
② Phong illumination model
简要介绍了一下各种材质对于反光的情况。这个model的公式网上都有,具体实现在这课里还没提到= =
说,光滑的镜面的物体,会有高光。如果是塑料材质的高光,反射的颜色就是光源的颜色不是物体的;如果是金属,反射的高光取决于物体表面的颜色。
③ Phongs make a highlight
在①中已经提到部分了。这里要说的是,phong shading的实现是在fragment shaders里做的。
④ Simple vertex shader in mytest3
代码不贴了。。反正也还没说全。。