[OpenGL]计算机图形学:明暗处理的基本算法

下面来逐个介绍一下基本要点以便加深对于明暗处理的基本算法。


光照方程:

1.光的无穷次反射和吸收过程可以用光照方程(rendering equation)描述。一般是无法求解的,即使应用数值方法也是非常复杂的。

2.光照方程是全局的,并且包含阴影、对象间的多次反射,以后会在光线跟踪和辐射度方法中详细考虑光照方程。

全局效果:


局部与全局光照
正确的明暗处理需要全局计算,即包含了所有的对象和光源。

这与流水线模型不兼容,在这个体系中对每个多边形单独进行明暗处理(局部光照)。

然而在计算机图形学中,特别是在实时图形应用中,如果所得结果看起来可以的话,

这种局部计算是可以接受的,存在许多方法逼近全局效果。



光源的描述:

光线从光源表面离开的方式有两种:自发射、反射。

在表面上任一点(x,y,z)所发出的光可以用θ, φ两个方位角表示以及每个波长λ的强度确定。

光照函数有六个变量:



光源的颜色:

光源不但发射出不同量的不同频率光,而且它们的方向属性随着频率也可能不同。

真正的物理模型将非常复杂。人的视觉系统是基于三原色理论的。

在大多数应用中,可以用三种成分—红、绿、蓝—的强度表示光源

光亮度(luminance)函数为I = [Ir, Ig, Ib]


点光源

由位置和颜色表示。

理想的点光源向各个方向发射光。

远光源即在无穷远处的光源,光线为平行线。

点光源的亮度函数I(p0) = [Ir(p0), Ig(p0), Ib(p0)]。

在点p接受的光亮度反比于光源与点的距离。





点光源的亮度:

点光源的应用:

在计算机图形学中大量应用点光源,是因为它易于使用。

但不能更好地反映物理现实。

只有点光源的场景得到的图像中对比度比较高;对象显得要么很亮,要么很暗,

而真实的光源由于尺

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值