Skip to content

Latest commit

 

History

History
61 lines (47 loc) · 3.61 KB

光照笔记.md

File metadata and controls

61 lines (47 loc) · 3.61 KB

###渲染路径

前向渲染 前向渲染基于光照通过多通道来渲染物体。也就是说特可能会被渲染多次以达到最终效果。可以通过质量设置和强度来调节光源。 特点:

  • 快,设备要求低。
  • 提供广泛的自定义“着色模型”,可以快速处理透明度
  • 允许“多样本抗锯齿”(MSAA)之类的硬件技术
  • 不适合有大量灯光的场景:灯光越多渲染性能消耗越大
  • 首选项

--细节

  • 前向渲染模式先以逐像素渲染强度最大的几个光源

  • 然后逐顶点地渲染至多4个点光源。

  • 其余光源以球谐波(SH)渲染,计算更快但得到的是近似值。

  • 决定光源是否为 逐像素(开销更大)的要素:

    1. 渲染模式为Not Important的光源是逐顶点的。
    2. 渲染模式为Important的光源是逐像素的。
    3. 最亮的方向光总是逐像素的。
    4. 如果当前光源数少于质量设置中设置的逐像素光照数量时,按照由强到弱的顺序,逐个将光源以逐像素渲染。
  • 每个物体的光照渲染顺序如下:

    1. 基础通道应用< 一个 >逐像素的方向光 以及< 所有 >逐顶点/SH的光源。
    2. 其他的逐像素光在其余的通道中渲染,一个通道一个光。
    3. 不同的渲染密度间会有光组重叠现象:例如最后一个逐像素光和第一个逐顶点光混合。
  • 基础通道

    1. 在这个通道中会渲染一个逐像素的方向光 以及 所有逐顶点/SH光、光照贴图、环境光、shader自发光。
    2. 这个通道中的方向光可以产生阴影。
    3. 光照贴图不能再从SH光中获得照明
    4. 如果shader中使用 “OnlyDirectional” 这样的通道标签,就意味着基础通道中只渲染主要的方向光,环境光,光源探头,光照贴图(SH/顶点光源数据将不会包含在通道中)
  • 其余通道

    1. 其余的逐像素光在各自的通道中渲染,且不会产生阴影。
  • 性能考量 SH光渲染很快,对CPU消耗最小,且对于GPU来讲几乎是无消耗的。由于SH的工作原理,无论有所少SH光,消耗都基本相同。适用于不怎么动的物体。 缺点:不支持Cookies或者法线贴图;SH光照不适用于平凡的光度变化,且只会影响漫反射;因为是近似计算,靠近物体时会发现有些不自然。

延迟渲染 特点:

  • 最高保真的渲染光照和阴影。
  • 不需要控制灯光数量,渲染成本与

传统顶点光 最低保真度地渲染光源,且不支持实时阴影,是前向渲染的子集。

设置

  • 在 Graphic Setting中设置,也可以在Camera中单独重载。
  • 如果图形卡无法处理选定的渲染路径,Unity将自动使用较低保真度的渲染路径。例如,在无法处理延迟着色的GPU上 ,正向渲染 将会被使用。

###颜色空间

  • 使用线性空间的一个显着优点是,随着光强度的增加,提供给场景中着色器的颜色会线性增亮。使用“Gamma”色彩空间的替代方案,随着值的增加,亮度将迅速变为白色,这对图像质量不利

  • Linear的另一个主要优点是着色器还可以在没有Gamma(中间调)补偿的情况下对纹理进行采样。这有助于确保颜色值在整个渲染管道的整个过程中保持一致。结果是提高了颜色计算的准确性,并在最终的屏幕输出中提高了整体真实感。

  • 不幸的是,某些移动硬件甚至某些游戏控制台都不支持线性色彩空间。在这些情况下,必须使用Gamma。目前,PC,更新的移动硬件和当前一代控制台都支持Linear。

HDR

一般用作光晕