DirectX 9.0 (5) 点光源

引言

              在前面几个系列中,我们陆续讲解了很多不同种类光的模型,但是前面的模型只是对于平行光来说的光照模型。真实世界中,不是只有平行光的存在。可以想象,我们在房间中的灯,它所营造出来的光就不是平行的光源。诸如点灯,蜡烛,和火焰等等,这样的光源我们称为点光源。在下面,我们将来讨论点光源的光照模型公式。


点光源

           点光源,顾名思义,是从一个点发出的光线。一个点发射出来的光线,应该朝着四面八方都发射出去,也就是说,在立体空间中,是呈一个球体的形式发射出去的。由于,点光源可以明确的定义在空间场景中的一点,所以,距离这个点光源距离较远的物体,受到的光照应该较弱,而离这个点光源很近的物体,应该被照射的十分的亮才是。也就是说,点光源的强度和被照射点到这个点光源之间的距离有一个函数关系,一般使用平方关系来表示。


点光源方程

           下面的公式是上几个博客中,讲解的平行光模型公式:

            点光源公式,依然会存在漫射光,反射光,和环境光的属性,只是,我们需要加上一个点光源的特殊属性:随着被照射的点与点光源之间的距离增大,光照强度,逐渐变弱。为了模拟这样的感觉,我们使用如下的一个公式来进行:

   

         在上面的公式中,d是点到光源之间的距离,而这里,我们提供了三个不同的系数a0,a1,a2,程序员和艺术家们,可以通过这三个参数来更加精确的控制点光源的衰变过程,从而达到自己想要的效果。


实例解析

         好了,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值