6-4.添加镜面高光到反光平面

6-4.添加镜面高光到反光平面

问题

当启用每像素着色,当你渲染一些金属或反光物体看起来还是有些钝。实际生活中,当看一个反光表面例如金属,玻璃或塑料,你将看到一个很亮的反光区。如6-6指示。这些光斑叫镜面高光。

 

 

方案

     当用每像素光照,你可以简单的告诉BasicEffect创建镜面高光。

 

注意 镜面高光只该添加到反光材料。不要添加到软性材料例如衣服或草等或至少使他们的影响非常薄弱

 

如何运作

你可以极端轻松使用BasicEffect来启用镜面高光。为每个光源,你可以指定镜面光色。接下来,你可以设置高光量,这个量允许你调整高光的宽度。量越高,高光越窄。详见6-8.

 

basicEffect.LightingEnabled = true;

       basicEffect.DirectionalLight0.Direction = lightDirection;

        basicEffect.DirectionalLight0.DiffuseColor = Color.White.ToVector3();

        basicEffect.DirectionalLight0.Enabled = true;

        basicEffect.PreferPerPixelLighting = true;

        basicEffect.DirectionalLight0.SpecularColor = Color.White.ToVector3();

basicEffect.SpecularPower = 32;  

 

注意 当用镜面光照是,你将一直使用每像素光照因为镜面高光典型的小,非线性点。因此,他们不应该用插值而是为每个像素分别计算。

转载于:https://www.cnblogs.com/XNAconglele/archive/2009/09/21/1571318.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值