挑战:编写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"];