summaryrefslogtreecommitdiff
path: root/Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureArrayNode.shader
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-10-23 13:08:43 +0800
committerchai <chaifix@163.com>2020-10-23 13:08:43 +0800
commitb82da95b5181ac8bbae38efb13e950d5e88a4caa (patch)
tree48a6f3269276484bbc7cfc95f0651f40a2176aa1 /Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureArrayNode.shader
parent917e9e0b320775634dc2e710f7deac74fd0822f0 (diff)
*移动amplify shader editor到third party目录
Diffstat (limited to 'Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureArrayNode.shader')
-rw-r--r--Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureArrayNode.shader63
1 files changed, 63 insertions, 0 deletions
diff --git a/Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureArrayNode.shader b/Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureArrayNode.shader
new file mode 100644
index 00000000..9b9c8bec
--- /dev/null
+++ b/Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureArrayNode.shader
@@ -0,0 +1,63 @@
+Shader "Hidden/TextureArrayNode"
+{
+ Properties
+ {
+ _A ("_UVs", 2D) = "white" {}
+ _B ("_Index", 2D) = "white" {}
+ _C ("_Lod", 2D) = "white" {}
+ _D ("_NormalScale", 2D) = "white" {}
+ _G ("_Tex", 2D) = "white" {}
+ _TexConnected ("_TexConnected", Int) = 0
+ }
+ SubShader
+ {
+ Pass
+ {
+ CGPROGRAM
+ #pragma vertex vert_img
+ #pragma fragment frag
+ #pragma target 3.5
+ #include "UnityCG.cginc"
+ #include "UnityStandardUtils.cginc"
+
+ uniform UNITY_DECLARE_TEX2DARRAY( _Sampler );
+ sampler2D _A;
+ sampler2D _B;
+ sampler2D _C;
+ sampler2D _D;
+ sampler2D _G;
+ float _CustomUVs;
+ float _LodType;
+ float _Unpack;
+ int _TexConnected;
+
+ float4 frag( v2f_img i ) : SV_Target
+ {
+ float2 uvs = i.uv;
+ if ( _CustomUVs == 1 )
+ uvs = tex2D( _A, i.uv ).xy;
+
+ float n = tex2D( _D, i.uv ).r;
+ float4 c = 0;
+ if ( _LodType == 1 ) {
+ float lod = tex2D( _C, i.uv ).r;
+ c = UNITY_SAMPLE_TEX2DARRAY_LOD( _Sampler, float3( uvs, tex2D( _B, i.uv ).r ), lod );
+ }
+ else if( _TexConnected == 0) {
+ c = UNITY_SAMPLE_TEX2DARRAY( _Sampler, float3( uvs, tex2D( _B, i.uv ).r ) );
+ }
+ else {
+ c = tex2D( _G, uvs );
+ }
+
+ if ( _Unpack == 1 )
+ {
+ c.rgb = UnpackScaleNormal(c, n);
+ }
+
+ return c;
+ }
+ ENDCG
+ }
+ }
+}