Shader Lab 筆記

                                    Shader Lab 筆記

2020   04  05

1、聲明變量的屬性。

數值屬性:

        QiangDu("滑條_QiangDu",Range(0,50))=0

        A_Flot("浮點數_Flot",Float)=10

        A_int("整數_int",int)=1

紋理屬性:

        A_2D("紋理2d",2D)=" "{}

        A_cube("四方貼圖cube",Cube)=""{}

        A_3D("貼圖3d",3d)=""{}

顏色屬性和向量屬性

        //聲明 顏色屬性和向量屬性
        A_Color("顏色_Color",COLOR)=(0,0,0,0)
        //向量
        A_Vector("矢量圖_Vector",Vector)=(0,0,0,0)

 

2、Shader中"Tags"的用法和意義

句法

Tags { "TagName1" = "Value1" "TagName2" = "Value2" }

  指定TagName1具有Value1TagName2具有Value2。您可以根據需要擁有任意數量的標籤。

 

內置的5個標籤

*有四個預定義的渲染隊列,但是在預定義的渲染隊列之間可以有更多的隊列。預定義的隊列是:

(渲染順序)??

  • Background-此渲染隊列先於其他任何隊列渲染。您通常會將它用於確實需要在後臺進行的操作。
  • Geometry (默認) -用於大多數對象。不透明幾何使用此隊列。
  • AlphaTest-經過Alpha測試的幾何使用此隊列。它是一個單獨的隊列,Geometry因爲在繪製所有實體後,渲染經過Alpha測試的對象效率更高。
  • Transparent-此渲染隊列以從後到前的順序在Geometry和之後渲染AlphaTest。任何與alpha混合的內容(即不寫入深度緩衝區的着色器)都應放在此處(玻璃,粒子效果)。
  • Overlay-此渲染隊列用於疊加效果。最後渲染的任何東西都應該放在這裏(例如鏡頭光暈)。

 

 

2020   04  06

 

3、ShaderLab 中LOD的含義是什麼?

   1、  

   2、    Shader LOD其實就是根據設備性能的不同編譯不同版本的Shader。

        這種編譯方式最早是爲了適應不同時代的顯卡而準備的。主機端本來就不存在這個問題,而現在在PC端上想找到上古級別的顯卡也不太容易。所以目前這玩意兒最大的用途也就是爲了適配高低配置不同的手機

       

         官網鏈接:

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

          Unity論壇中壇友理解經驗

          https://forum.unity.com/threads/shader-lod-cant-find-examples.381298/

 

        3、Unity的ShaderLab細節級別(LOD)*是開發人員的一項便利功能,可幫助他們在單個着色器中支持多個平臺。基本思想是應用程序可能具有SweetLightingShader僅在PC上可以使用的。假設iPad不支持,SweetLightingShader但它支持SemiSweetLightingShader。您可以維護兩個單獨的着色器,或者甚至更好地將它們合併爲一個着色器,並使用LOD決定要使用的功能。

*請勿將ShaderLab LOD與幾何LOD混淆,它們是獨立的主題。

          Unity渲染着色器時,它將遍歷所有子着色器並使用硬件支持的第一個着色器。

          

        4、當需要支持各種性能不同的GPU時,Shader LOD非常有用。例如,如果您想讓遊戲在iPhone4和iPhone5S上流暢運行。

通常的做法是將一個着色器組合爲一組具有不同LOD的子着色器(將它們視爲同一着色器的版本)。您可以在具有較大LOD的子着色器中實現複雜的每像素照明,而在具有較小LOD的子着色器中實現粗糙的逐頂點照明。然後,您可以使用Shader.globalMaximumLOD在代碼中啓用適當版本的着色器。

                                                                  3和4的解釋原文鏈接:

           https://stackoverflow.com/questions/25210767/unity3d-shaders-level-of-detail

 

 

 

4、pass

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章