前言
我們先讀懂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,并且打開
文章來源:http://www.zghlxwxcb.cn/news/detail-767531.html
- 我們目前先只編譯到 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)!