国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity中Shader指令優(yōu)化(編譯后指令解析)

這篇具有很好參考價值的文章主要介紹了Unity中Shader指令優(yōu)化(編譯后指令解析)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


前言

我們先讀懂Shader編譯后代碼,才能對Shader進行合理的優(yōu)化


一、我們先創(chuàng)建一個簡單的Shader

Shader "MyShader/P2_3_6"
{
    Properties
    {
        
    }
    SubShader
    {
        Tags { "RenderType"="Opaque" }
        LOD 100

        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag

            #include "UnityCG.cginc"

            struct appdata
            {
                float4 vertex : POSITION;
                float2 uv : TEXCOORD0;
            };

            struct v2f
            {
                float2 uv : TEXCOORD0;
                float4 vertex : SV_POSITION;
            };
            
            v2f vert (appdata v)
            {
                v2f o;
                o.vertex = UnityObjectToClipPos(v.vertex);
                o.uv = v.uv;
                return o;
            }

            fixed4 frag (v2f i) : SV_Target
            {
                return fixed4(i.uv,1,1);
            }
            ENDCG
        }
    }
}



二、編譯這個Shader,并且打開

unityshader 如何查看指令數(shù),Unity,unity,游戲引擎

  • 我們目前先只編譯到 D3D 平臺

這是編譯后的代碼(我們來逐步分析):文章來源地址http://www.zghlxwxcb.cn/news/detail-767531.html

// Compiled shader for custom platforms

//
// 
// NOTE: This is *not* a valid shader file, the contents are provided just
// for information and for debugging purposes only.
// 
//
// Skipping shader variants that woul

到了這里,關(guān)于Unity中Shader指令優(yōu)化(編譯后指令解析)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Unity 性能優(yōu)化之Shader分析處理函數(shù)ShaderUtil.HasProceduralInstancing: 深入解析與實用案例

    Unity 性能優(yōu)化之Shader分析處理函數(shù)ShaderUtil.HasProceduralInstancing: 深入解析與實用案例

    點擊封面跳轉(zhuǎn)到Unity國際版下載頁面 在Unity中,性能優(yōu)化是游戲開發(fā)過程中非常重要的一環(huán)。其中,Shader的優(yōu)化對于游戲的性能提升起著至關(guān)重要的作用。本文將深入解析Unity中的Shader處理函數(shù) ShaderUtil.HasProceduralInstancing ,并提供一些實用案例來展示其用法。 ShaderUtil.HasProce

    2024年02月09日
    瀏覽(20)
  • Unity Shader - if 和 keyword 的指令比較

    Unity Shader - if 和 keyword 的指令比較

    Unity : 2020.3.37f1 Pipeline : BRP 下面是 shaderlab 和 arm mobile studio 中的 graphics analyzer 的 glsl 代碼 VS FS 下面是 shaderlab 和 glsl VS: 和上面的一樣,就不復制上來的 主要看 FS: if 是指令實打?qū)嵈嬖诘?kw 原理是 macro 的 define,是在預(yù)編輯級別的分支,因此指令少一些也很正常 if 的推薦使

    2024年02月15日
    瀏覽(13)
  • Unity中Shader編譯目標渲染器

    Unity中Shader編譯目標渲染器

    Unity中Shader編譯到目標渲染器 #pragma only_renderers 僅編譯指定平臺的Shader d3d11 - Direct3D 11/12 glcore - OpenGL 3.x/4.x gles - OpenGL ES 2.0 gles3 - OpenGL ES 3.x metal - iOS/Mac Metal vulkan - Vulkan d3d11_9x - Direct3D 11 9.x功能級別,通常在WSA平臺上使用 xboxone - Xbox One ps4 - PlayStation 4 psp2 - PlayStation Vita n3ds -

    2024年02月05日
    瀏覽(21)
  • Unity Shader - UI/Default shader 優(yōu)化示例

    Unity Shader - UI/Default shader 優(yōu)化示例

    Unity : 2020.3.37f1 Pipeline : BRP 做性能優(yōu)化都是慢慢都扣出來的 當然,優(yōu)先處理 top 熱點的 但是一些就算不是 top,但是像素面積有多,overdraw 也多不可小覷 當然,如果你能找到性能熱點,那還是優(yōu)先分析一下哪些 shader 占的 cycles 最高,和 A, L/S, T, 最高 還有 register 的數(shù)量盡可能

    2024年02月07日
    瀏覽(21)
  • Unity中Shader變體優(yōu)化

    Unity中Shader變體優(yōu)化

    在Shader中,一般有兩個方面的優(yōu)化:一方面是內(nèi)存優(yōu)化(即變體優(yōu)化);一方面是渲染優(yōu)化(即Shader中計算的優(yōu)化)。我們這篇文章來了解一下Shader變體的優(yōu)化。 創(chuàng)建一個UnlitShader,里面有一個默認的Shader #pragma multi_compile_fog 選擇Shader后,點擊Compile and show code 右邊的小箭頭可

    2024年02月04日
    瀏覽(22)
  • 實現(xiàn)窗戶特效的Unity Shader解析

    實現(xiàn)窗戶特效的Unity Shader解析

    ????????本文將詳細介紹一種使用Unity Shader實現(xiàn)窗戶特效的方法。通過分析代碼,我們將解釋每個關(guān)鍵部分的作用,以及如何將其組合在一起以實現(xiàn)逼真的窗戶效果。希望本文能為Shader編程初學者和Unity開發(fā)者提供一些有用的指導。 ? 引言: ????????在游戲和虛擬現(xiàn)實

    2024年02月12日
    瀏覽(29)
  • Unity中Shader的BRDF解析(一)

    Unity中Shader的BRDF解析(一)

    在上篇文章中,我們解析了Standard的GI實現(xiàn),這篇文章我們來解析一下Standard的PBS計算。 Unity中Shader的Standard材質(zhì)解析(二) 上篇文章中,主要解析了這個公式 GI漫反射 和 GI鏡面反射 LightingStandard1(o, worldViewDir, gi); 在該函數(shù)中,主要進行了如下計算: s.Albedo = DiffuseAndSpecularF

    2024年02月04日
    瀏覽(11)
  • Unity中Shader的BRDF解析(二)

    Unity中Shader的BRDF解析(二)

    我們在這篇文章中,繼續(xù)來繼續(xù)解析BRDF中的高配置情況( UNITY_PBS_USE_BRDF1)下,迪士尼的漫反射計算 Unity中Shader的BRDF解析(一) 在上篇文章中,我們解析到了BRDF的具體計算 我們在該函數(shù)的最后能找到與迪士尼BRDF原則對應(yīng)的程序: // Specular term // HACK: theoretically we should divi

    2024年02月04日
    瀏覽(11)
  • Unity中Shader的BRDF解析(三)

    Unity中Shader的BRDF解析(三)

    在上篇文章中,我們解析了BRDF的漫反射項,這篇文章我們繼續(xù)解析BRDF中的鏡面反射 Unity中Shader的BRDF解析(二) 我們返回 specular ,看一下高光效果: return fixed4(specular,1); //鏡面反射中的DV項的計算 //最后乘以PI的原因是因為計算 漫反射 時,等式右邊沒有除以PI。 //導致算出的

    2024年02月01日
    瀏覽(14)
  • Unity中Shader抓取屏幕并實現(xiàn)扭曲效果(優(yōu)化)

    Unity中Shader抓取屏幕并實現(xiàn)扭曲效果(優(yōu)化)

    對上一篇中實現(xiàn)的shader進行優(yōu)化 1、定義結(jié)構(gòu)體用于傳入頂點坐標系 struct appdata { float4 vertex : POSITION; //從應(yīng)用程序階段的輸入,多加一個uv,用于對扭曲紋理的采樣 float2 uv : TEXCOORD; }; 2、因為UnityObjectToClipPos是從本地空間轉(zhuǎn)換到裁剪空間,但是沒有進行透視除法,所以需要對其

    2024年02月03日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包