【GAMES101】Lecture 7 & Lecture 8 & Lecture 9

Lecture 7 Shading 1 (Illumination, Shading and Graphics Pipeline)

可见性 & 遮挡(visibility & occlusion)

  • 解决方法:Z-buffering 深度缓存/深度缓冲
  • 画家算法:先把远处的画完,然后往近处覆盖掉物体
    • 环:无法判断深度关系
  • 深度缓存:
    • 初始认为像素都在无限远
    • Z-buffer 无法处理透明物体

着色处理(shading)

  • 对不同物体应用不同材质
    • 漫反射:接收到多少能量

Blinn-Phong Reflectance Model 光照模型 着色模型

  • 漫反射和观测的方向 v v v无关:
    在这里插入图片描述
  • 高光:近镜面反射,观察方向和镜面反射方向接近
  • 说明法线向量和半程向量方向接近
  • 能量吸收:不考虑的原因→经验模型
  • 环境光:不讲究从哪进来,且与 v v v也没有关系,是个常数
    • 事实:全局光照
      在这里插入图片描述
  • 环境光 + 漫反射光 + 高光 = Blinn-Phong 反射模型

Lecture 8 Shading 2 (Shading, Pipeline and Texture Mapping)

着色频率

  • Flat shading(三角形着色)
    • 每个三角形的法线是一样的,Shading一次获得颜色值
    • 效果不好
  • Gouraud shading(顶点着色)
    • 每个顶点做一次Shading,中间对颜色值插值
  • Phong shading(像素着色)
    • 对法线值做插值,对每个点做Shading
    • 不是Blinn-Phong
  • 着色频率取决于物体本身:如果模型足够复杂,则使用简单的Shading方法效果不一定差
  • 好的效果一般需要大的计算量
  • 顶点法线方向的计算:相邻面的法线的加权平均

实时渲染管线

  • shader:
    • 顶点着色器: . v s h .vsh .vsh
    • 像素着色器: . f s h .fsh .fsh
    • Shadertoy
  • GPU:并行计算

纹理映射

  • 三维物体的表面是二维的
  • 纹理:一张图
  • 映射:纹理“蒙”在物体表面
    • 参数化
  • 纹理上的坐标:在纹理上定义一个坐标系( u u u v v v都在0~1之内)
    在这里插入图片描述

Lecture 9 Shading 3 (Texture Mapping Cont.)

重心坐标

  • 三角形内的插值:
  • α,β,γ三个均非负,则点在三角形内,否则在三点所在平面内
    在这里插入图片描述

纹理的放大

  • 像素纹理:texel
  • 多个pixel映射到了同一个texel
    • 双线性插值Bilinear:最近的4个点
    • 双向三次插值Bicubic:周围16个点做三次插值

纹理的缩小

  • Super sampling:浪费:
  • MipMap:
    在这里插入图片描述
    • 三线性插值
  • 各向异性过滤
  • 23
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值