zoukankan      html  css  js  c++  java
  • Shaderlab-10chapter-立方体纹理、玻璃效果

    10.1.1天空盒子

    • window - Lighting - skyMaterial
    • 创建mat,shader选自带的6 side shader
    • 确保相机选skybox
    • 如果某个相机需要覆盖,添加skyBox组件。

    10.1.3 反射

    • 原理
      1)求反射方向向量。(用refract函数,参数:入射向量、法线向量)
      2)texCUBE采样。(方向不需要归一化)

    10.1.4 折射

    • 原理
      1)求折射方向向量。(用refract函数,参数:入射向量、法线向量、折射率。)
      2)texCUBE采样。(方向不需要归一化)
    • 代码
    o.worldRefract = refract(-o.viewDir,o.worldNormal ,_Ratio);
    fixed3 color_refract = texCUBE(_CubeMap,i.worldRefract).rgb;
    

    10.1.5 涅菲尔反射

    • 原理 (近处的反射少,远处反射多)
      1)公式(近似):F = Fscale + (1-Fscale)(1-v·n)^5
    • 利用fresnel做边缘发光,代码
    fixed fresnel = _FresnelScale + (1 - _FresnelScale) * pow(1 - dot(viewDir, worldNormal), _PowVal);//涅菲尔公式:_PowVal =5
    _ColorFresnel * saturate(fresnel)
    

    10.2.2玻璃效果

    //Transparent确保不透明物体可以渲染,RenderType为了在使用着色器替换时,该物体可以在需要时被正确渲染。这通常发生在我们需要得到相机的深度和法线纹理时。
    Tags { "Queue"="Transparent" "RenderType"="Opaque" }
    
  • 相关阅读:
    在Spring 中如果Girl要Kiss Boy咋办捏?
    对象的序列化
    HibernateHQL
    Struts 动态FORM实现过程
    对struts一点理解总结
    Hibernate Query Language(HQL)。
    Hibernate中Inverse和Cascade
    Spring 中的内部bean 和集合
    设计模式到底离我们有多远
    Aspx页面转静态页面
  • 原文地址:https://www.cnblogs.com/Jaysonhome/p/13060765.html
Copyright © 2011-2022 走看看