zoukankan      html  css  js  c++  java
  • 渲染路径-surface shader 光照函数与渲染路径

    https://docs.unity3d.com/Manual/SL-SurfaceShaderLighting.html

    Lighting Model declaration

    Lighting model is a couple of regular functions with names starting with Lighting. They can be declared anywhere in your shader file or one of included files. The functions are:

    1. half4 Lighting<Name> (SurfaceOutput s, UnityGI gi); This is used inforward rendering path for light models that are not view direction dependent (e.g. diffuse).

    2. half4 Lighting<Name> (SurfaceOutput s, half3 viewDir, UnityGI gi); This is used inforward rendering path for light models that are view direction dependent.

    3. half4 Lighting<Name>_Deferred(SurfaceOutput s, UnityGI gi, out half4 outDiffuseOcclusion, out half4 outSpecSmoothness, out half4 outNormal); This isused in deferred lighting path.

    4. half4 Lighting<Name>_PrePass (SurfaceOutput s, half4 light); This is used in light prepass (legacy deferred) lighting path.

    Note that you don’t need to declare all functions. A lighting model either uses view direction or it does not. Similarly, if the lighting model only works in forward, do not declare the _Deferred or _Prepass function. This way, all Shaders that use it compile to forward rendering only.

  • 相关阅读:
    1613. 最高频率的IP
    JavaMap常用操作
    centos虚拟机 与主机同步时间
    Kubernetes prometheus+grafana k8s 监控
    k8s集群搭建 2019
    linux运维/自动化开发__目录
    mysql DBA 指南
    mysql 监控
    微信公众号实现zaabix报警2017脚本(升级企业微信后)
    分布式监控开发 05 历史数据存储
  • 原文地址:https://www.cnblogs.com/nafio/p/9137191.html
Copyright © 2011-2022 走看看