【GAMES101】Lecture 08 Blinn-Phong反射模型

本文详细介绍了Blinn-Phong反射模型,包括其高光产生原理、半程向量的应用、与Phong模型的区别,以及环境光照部分的处理。重点讲解了如何通过n和h衡量高光,以及指数p对高光效果的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

Blinn-Phong反射模型-高光

Blinn-Phong反射模型-环境光照

Blinn-Phong反射模型


Blinn-Phong反射模型-高光

我们在lecture7的时候讲了这个Blinn-Phong反射模型的漫反射部分,现在我们继续讲Blinn-Phong反射模型的高光部分

这个高光是怎么产生的呢,我们说当这个物体的表面非常光滑的时候,光照射过去这个表面就会特别亮,就是这么个道理,但是没有绝对光滑的物体,除了三体里面那个强作用力聚合的中子水滴,所以反射光线就不一样绝对沿着镜面反射的方向,如下图中的R,所以这个高光会出现在R的附近也就是黄色区域,而且这个高光是和我们的观察方向密切相关的,这和上次讲到的漫反射不同,只有这个观察方向v和反射方向R比较接近的时候才能看到高光

然后我们再定义一个半程向量h,这个h向量是光源方向l和观察方向v的角平分线的方向向量,那么可以知道当R和v比较接近的时候,n和h也比较接近,也就是说我们可以通过n和h的接近程度来衡量看到的高光程度,类似的我们可以得出一个计算高光的式子,因为方向向量都是单位向量,所以余弦值就等于方向向量的点乘结果

这里我们为什么要用n和h来衡量而不直接用R和v呢,其实用R和v衡量的也有,叫phong反射模型,我们这里讲的是Blinn-Phong反射模型,是Phong反射模型的一个改进,那为什么是改进呢,主要是因为h的计算更加简单,直接将v和l相加单位化即可,而R则需要通过反射算子来计算,

那为什么还有一个指数p呢,主要是因为这个余弦值的容忍度太高了,这个高光的变化不明显,不能明明n和h离的比较远也有高光吧,所以要让这个高光出现的范围变小,而加上一个指数运算就可以加剧这个变化的程度

下面这个图就可以看出p和高光的变化,当这个p变大的时候,高光部分就会缩小

Blinn-Phong反射模型-环境光照

然后Blinn-Phong反射模型我们已经讲了漫反射部分和高光部分,还有一个环境光照部分,我们已经知道这个环境光照部分的光源是周围环境的反射光,它的方向是四面八方的,这里呢,我们假设这个环境光的强度是固定的,也不管是从哪来的,反正就是这个强度的光,然后也和观察方向没关系,从哪看都是这个样子,当然还存在一个吸收率,所以环境光La=Ka×Ia

Blinn-Phong反射模型

到这里Blinn-Phong反射模型就讲完了三个部分了,有环境光、漫反射和高光部分

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员萌芽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值