前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【GAMES101】Lecture 08 着色-Blinn-Phong反射模型

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

作者头像
叶茂林
发布2024-01-19 14:21:10
940
发布2024-01-19 14:21:10
举报
文章被收录于专栏:叶子的开发者社区

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反射模型就讲完了三个部分了,有环境光、漫反射和高光部分

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Blinn-Phong反射模型-高光
  • Blinn-Phong反射模型-环境光照
  • Blinn-Phong反射模型
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档