前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【GAMES101】Lecture 07 着色(shading)

【GAMES101】Lecture 07 着色(shading)

作者头像
叶茂林
发布2024-01-19 14:18:58
1100
发布2024-01-19 14:18:58
举报

着色

这个着色(shading)就是将不同的材质应用到不同的物体上,像一个物体,它可以是木头的、金属的、塑料的……

Blinn-Phong反射模型

我们来看一个简单的着色模型,叫Blinn-Phong反射模型

我们可以看到下面这个茶杯在右上方光源的照射下可以分成三个不同的地方,一个是这个Specular highlights,叫镜面高光,就是对着光源比较光滑的地方反射的光比较多,一个是这个Diffuse reflection,叫漫反射部分,物理中指的是投射在粗糙表面上的光向各个方向反射的现象,还有一个Ambient lighting,叫做环境光,也叫间接光照,这个光是来着周围环境的反射光

着色是局部的,是对于一个点着色,对于这一个点,它是在物体的表面的对吧,这是我们能够看得到,这个表面可能是曲面,但是对于某个点来说,它所在的面可以当作是一个平面,我们定义三个方向单位向量,n是这个平面的法向量,然后我们观测方向这个v向量指向我们的摄像机,l(L)向量是光源方向,指向光源,还有这个着色点的颜色color,还有着色点的光泽shininess,注意这个shininess不是亮度

还有就是着色不会产生这个阴影,就是shading不会产生shadow,这个着色是局部的,而这个阴影则是在光源下点和其他点的作用

漫反射

我们说这个漫反射是光线照射到一个不光滑的地方然后反射出四面八方的光线的现象

但是为什么同样是漫反射有些地方亮有些地方暗呢,大家都知道这是因为光线照射的角度不一样是不是,我们这里把光给离散化,那如果光是垂直照射到这个平面上自然接受到的光最多,如果是斜的话这个接受到的光能量就会减少,这个就涉及到Lambert余弦定理,就是说我们接收到的光的能量和光源方向与平面法方向之间的夹角的余弦值成正比

这个其实可以解释为什么会有春夏秋冬,并不是因为冬天太阳离地球远了,毕竟是同一颗地球,北半球冬天的时候南半球是夏天是不是,而是因为太阳照射光线的角度随着地球公转发生了变化,冬天是斜着照,接受的光能量比较小,所以比较冷

光衰减

考虑一个点光源散发出来的能量,假设每时每刻散发出来的能量是固定的,那么这些能够可以想象成一个球膜,并且这个球膜越来越大,就是这个球膜的表面积越来越大,但是根据能量守恒,这个球膜的总能量是不变的,假设距离光源距离为1的点的光的强度为I,那么可以算出距离为r的点的光的强度为I/r²

然后最后就是怎么计算这个漫反射出来的光,这个n·l是Lambert余弦定理计算出来的余弦值,然后和0取个最大值,因为余弦值为负的没有意义,然后乘以光在着色点的强度,这个kd是漫反射的反射率系数,取值0到1,表示可以反射多少光

这个着色还没完,还需要两节课才能讲完这个着色,还有就是刚刚过程中的物理模型并不完全准确,要等到路径追踪才讲

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

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

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

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

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