GAMES101-Lecture 07

Visibility / occlusion

场景中远近物体的放置问题:
画家算法:将物体远近关系排好,远的场景先画,再画近处的场景,近处的自然覆盖了远处的。
缺陷:不同物体两两相互覆盖的问题无法解决。
在这里插入图片描述

Z-buffering深度缓存

对每个像素进行处理,每个像素记录场景中最近的物体的颜色。
frame buffer:最终结果。
depth buffer(深度图):只存任何一个像素所看到的物体最浅的深度信息。
始终假设相机在原点且我们是从-z方向看过去的,所以物体越近z值越大,越远z值越小
在这里插入图片描述
深度:定义为点到摄像机的距离。永远为正,越大代表越远。越小代表越近。深度越小,越黑。深度越大,越白。
在这里插入图片描述
实现代码:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
该算法与画的顺序无关。如果使用了MSAA进行反走样,则该深度缓存不能只对像素点进行,需要对每一个采样点进行。

Shading着色

lllumination & Shading

着色:对不同的物体运行不同的材质。

着色模型:Blinn-Phong Reflectance Model

在这里插入图片描述
在这里插入图片描述
n:法线
v:观测方向
I:光照方向
在这里插入图片描述
着色≠阴影
漫反射:当一束光线达到某一点后会被均匀反射到不同方向去。
在这里插入图片描述
在这里插入图片描述
结论:当光线与接受表面的夹角 θ \theta θ决定了它接受的能量。
θ = l ⃗ ⋅ n ⃗ \theta = \vec{l}\cdot\vec{n} θ=l n
认为点光源在任何一个时刻辐射出的能量都集中在一个球壳上。能量在不同球壳上的大小是一致的。假设在一个单位远的球壳上的单位面积能量为 I I I,则在 r r r单位远的球壳上的单位面积能量为 I / r 2 I/r^2 I/r2
在这里插入图片描述
结论:已知点光源、着色点(Shading Point)据点光源的距离,就知道传播到着色点的能量为多少。又已知 l l l n n n的夹角 θ \theta θ,即可知被着色点吸收 (准确来说是反射出去) 的光能量。

漫反射计算公式:
在这里插入图片描述
m a x max max的意义:只考虑反射,不考虑折射。
K d K_d Kd:表示着色点吸收能量的效率。1表示完全不吸收,到达的能量被全部反射,0表示所有能力被吸收,没有反射出去的能量。

因为漫反射是均匀反射,所以从不同角度观察的亮度是一致的。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值