前言
我们先读懂Shader编译后代码,才能对Shader进行合理的优化
一、我们先创建一个简单的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,并且打开
文章来源:https://www.toymoban.com/news/detail-767531.html
- 我们目前先只编译到 D3D 平台
这是编译后的代码(我们来逐步分析):文章来源地址https://www.toymoban.com/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
到了这里,关于Unity中Shader指令优化(编译后指令解析)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!