§6.3挑战:编写Diffuse per pixel shader

作为一个小的挑战以更熟悉shader,你可以编写一个简单的Diffuseperpixel shader,与 specularper pixel shader有相同的工作原理,只不过消除了镜面反光。 Diffuseperpixel通常用在没有光泽的材料上,为了能够切换specularperpixel和diffuseperpixel,你应该在simpleshader.fx文件里建立两种technique。

加上以下代码后,您就可以使用空格键动态地在specularperpixel和diffuseperpixel之间切换了:

if (Input.Keyboard.IsKeyDown(Keys.Space))

effect.CurrentTechnique = effect.Techniques["DiffusePerPixel"];

else

effect.CurrentTechnique = effect.Techniques["SpecularPerPixel"];


发布时间:2008/9/10 下午2:08:22  阅读次数:5882

2006 - 2024,推荐分辨率 1024*768 以上,推荐浏览器 Chrome、Edge 等现代浏览器,截止 2021 年 12 月 5 日的访问次数:1872 万 9823 站长邮箱

沪 ICP 备 18037240 号-1

沪公网安备 31011002002865 号