Games101笔记——Lecture7:Shading 1 (Illumination, Shading and Graphics Pipeline)

本文探讨了深度缓冲(Z-Buffer)在解决三维图形绘制中的覆盖问题,阐述了深度缓存算法的工作原理和效率。接着介绍了着色在图形渲染中的重要性,特别是Blinn-Phong反射模型,包括漫反射、镜面高光和环境光的计算。同时,提到了不同光照效果如何影响物体表面的视觉表现。

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

Lecture7: (Illumination, Shading and Graphics Pipeline)

  • 今日内容:
    • 先补上深度缓冲的内容!
    • 再讲着色内容!

深度缓冲

  • 画家算法,从远到近画就完了!会覆盖。
  • 但是在三维中呢,比如一个立方体,绘制其各个面的顺序很容易影响结果。
  • 一定程度上画家算法没毛病,把物体深度排序就完了,O(n log n)呗。
  • 但是有种特殊情况,比如三个三角形两两彼此循环覆盖,没法定义它们间的深度关系!
  • 为了解决上述问题,引入了深度缓冲(Z-Buffer)
    • 对于每个像素,记录一个深度缓冲值,最小的深度值
    • 相当于多出来一个 depth buffer 图作为深度缓存
    • 当然还有用来存图的 frame buffer
    • 深度缓存算法的思想
      在这里插入图片描述
    • 一个简单例子
    • 深度缓存的算法复杂度
      • 对于n个三角形为O(n)
      • 这并不是排序算法,而只是对每个像素求一个最小值
    • 在假设不存在深度相同的三角形的情况下(现实中也比较罕见),该算法与三角形的绘制顺序无关
    • 广泛应用在硬件GPU中
    • Z-Buffer处理不了透明物体!

Shading

  • 到此位置我们都讲啥勒
    • MVP+光栅化!
      在这里插入图片描述
    • 我们现在能干这个
      在这里插入图片描述
    • 我们期待的是这个
      在这里插入图片描述
    • 世界是五彩缤纷滴,需要我们去着色(Shading)
  • 着色的定义!
    • 本课中的定义,对不同物体应用不同材质的过程!

Blinn-Phong Reflectance Model:最基础的着色模型

  • 三种光照:
    • Specular highlights
    • Diffuse reflection
    • Ambient lighting
  • 分析三部分就完事儿了!
  • 分析一波!shading point处于平面上,向量都是单位的,还要定义表面的参数
    在这里插入图片描述
  • shading是local的,我们不考虑这个点是不是在阴影内,只看他自己,观测和光照位置
  • Diffuse reflection
    • 漫反射,光线在这点平均反射到各个方向去
    • 表面朝向和光照有夹角时,表面法线呵光线夹角越大,单位光强越小——兰伯特余弦定律,四季的原因正是此
    • 能量衰减!比如对于点光源!由于距离产生!想象一个球壳!
    • 直接来吧!
      在这里插入图片描述
    • Kd是漫反射系数,描述了这一点的颜色!
    • 漫反射意味着,无论从什么角度去看都一样!
      在这里插入图片描述
  • 这节预定内容没讲完,下节课继续!
  • 布林冯是个经验模型,并不是符合实际的物理模型!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值