腾讯游戏学院 游戏程序设计第八章(个人总结)——材质着色与光照

第八章材质着色与光照 学习打卡

这章老师讲的嘴速有点快…后续补充

物理回顾

什么是渲染

  • 平衡物理和有限计算资源的艺术
  • 基于物理渲染(材质+光照)=光与物质的交互
  • 电影的画面:离线渲染
  • 基物流渲染:PBR(光照基于更精确的物理模型进行渲染)
  • 产生波的特性同时体现出粒子的特性

材质

光与粒子交互

  • 粒子产生极化的现象,电子吸收光一部分的能量,原子内部的电子从低能态跃迁到高能态,对某些频率的可见光进行吸收,看到红色物体,是因为物体把除红色以外别的波长吸收掉,只剩下红色去反射人的眼睛
  • 光通量:每单位时间内产生的光能
  • 光度:
  • 光亮度

image-20210114233402220

  • 通过实验仪器测量菲涅尔反射的系数:一个通用的现象,大部分金属的值是大于0.5的,非金属大部分是小于0.5的

全局光照

  • 方法

  • 离线渲染

    • 路径追踪
      • 暴力的方法,真实的通过算力计算游戏场景中,每条光路的一个反弹结果,一般起始点会从相机出发,发射射线到场景中,通过BRDF概率函数计算每一次反弹出射的方向,后再在场景另一个方向进行反弹,不断地反弹,如果没有打到光源地话,这条射线的贡献完全是黑的,一般在最后一次反弹的时候,强行把它跟光源连接起来,然后要看是否有物体挡到,如果有物体的话,就变成有阴影,没有挡到的话就会有计算光源的贡献

    image-20210115201333238

    image-20210115201947025

    • 光子映射Photo Mapping
      • 路径跟踪不会存储任何信息,但光子映射会在每次反弹的时候,把能量存储起来,从光源点一直往场景内发射光子,然后让这个场景的一个结构,把每一次反弹的结果保存起来,之后相机在收集阶段时观察这个场景时,对这些结果进行插值,光子映射和路径跟踪效果上在本质上可以做到一致
    • 辐射度
  • 实时渲染

    • 屏幕空间

      • 屏幕环境光遮蔽

        • Cryengine 的Screen space ambient occlusion(SSAO)
        • HBAO+(用屏幕空间去模拟一个AO的现象)
      • 屏幕空间反射

        • HI-Z Tracing(寒霜引擎)
          • Min-Z Pass,战地系列、星战系列
        • PBR brdf-Stochastic Monte Carlo sampling采样方法+denoise(降噪)

        image-20210115203436425

    • 世界空间

      • Voxel Cone Tracing

      • Distance Field

      • 实时光线追踪

        • 计算光线和几何体的求焦

        image-20210115203541062

      • 间接光照

      • 环境法线(Bent Normal)

      • 面光源(熔浆自带的光源)

      • Indirect Shadow

      • 环境光遮蔽

      • GGX法线分布函数

  • 存储

    • 光照贴图
    • 反射探针
      • 漫反射
      • 高光反射

F是菲涅尔效应

image-20210115174415626

image-20210115174733611

局部光照

点光源

image-20210115200623436

基于图像光照

  • Light probe

image-20210115200715152

猜你喜欢

转载自blog.csdn.net/lr_shadow/article/details/112710126