zoukankan      html  css  js  c++  java
  • NormalMapping

    NormalMapping

      法线贴图内的数据是法线,高度贴图内的数据是高度,不是一个东西。在ShaderLab中,UnpackNormal()分析的是法线贴图(注意不是高度贴图)。

      

      可以看到,在GLES环境下及Mobile环境下,normal中存储的只是0-1的值。而UnpackNormal将值从0-1转换到-1-1。

      法线贴图类似如下这张:

      

      照例,使用Texture需要先定义:

      

      要定义NormalTex的UV:

      

      最后通过UnpackNormal解出Normal:

      

      下面是使用与未使用法线贴图的效果:

        

    How it works

      可以通过增大x、y分量来增强高度差体验:

      

      

      增加x、y是因为,如果增加x、y、z则等同于法线没有改变,因为法线必须是单位向量。我们需要改的朝向,当在凹横槽时,增大x、y可以让法线更平,从而高度差加大。

  • 相关阅读:
    [APIO2018] Duathlon 铁人两项
    「PKUWC2018」随机游走
    「2018山东一轮集训」 Tree
    「2018山东一轮集训」Game
    [Lydsy1805月赛] quailty 算法
    CodeForces
    CodeForces
    「2018山东一轮集训」鸽子
    python序列化
    python的shutil模块
  • 原文地址:https://www.cnblogs.com/tekkaman/p/3979820.html
Copyright © 2011-2022 走看看