【raviramamoorthi-Computer Graphics】OpenGL Shading: Gouraud and Phong

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

代码不贴了。。反正也还没说全。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值