85 lines
1.4 KiB
Plaintext
85 lines
1.4 KiB
Plaintext
|
Shader "Hidden/TexturePropertyNode"
|
||
|
{
|
||
|
Properties
|
||
|
{
|
||
|
_Sampler ("_Sampler", 2D) = "white" {}
|
||
|
_Sampler3D ("_Sampler3D", 3D) = "white" {}
|
||
|
_Array ("_Array", 2DArray) = "white" {}
|
||
|
_Cube( "_Cube", CUBE) = "white" {}
|
||
|
_Default ("_Default", Int) = 0
|
||
|
_Type ("_Type", Int) = 0
|
||
|
}
|
||
|
SubShader
|
||
|
{
|
||
|
Pass
|
||
|
{
|
||
|
CGPROGRAM
|
||
|
#pragma vertex vert_img
|
||
|
#pragma fragment frag
|
||
|
#pragma exclude_renderers d3d9
|
||
|
#pragma target 3.5
|
||
|
#include "UnityCG.cginc"
|
||
|
int _Default;
|
||
|
float4 frag( v2f_img i ) : SV_Target
|
||
|
{
|
||
|
if(_Default == 1)
|
||
|
{
|
||
|
return 1;
|
||
|
}
|
||
|
else if(_Default == 2)
|
||
|
{
|
||
|
return 0;
|
||
|
}
|
||
|
else if(_Default == 3)
|
||
|
{
|
||
|
return 0.5f;
|
||
|
}
|
||
|
else if(_Default == 4)
|
||
|
{
|
||
|
return float4(0.5,0.5,1,1);
|
||
|
}
|
||
|
|
||
|
return 1;
|
||
|
}
|
||
|
ENDCG
|
||
|
}
|
||
|
|
||
|
Pass
|
||
|
{
|
||
|
CGPROGRAM
|
||
|
#pragma vertex vert_img
|
||
|
#pragma fragment frag
|
||
|
#pragma exclude_renderers d3d9
|
||
|
#pragma target 3.5
|
||
|
#include "UnityCG.cginc"
|
||
|
|
||
|
UNITY_DECLARE_TEX2DARRAY (_Array);
|
||
|
samplerCUBE _Cube;
|
||
|
sampler2D _Sampler;
|
||
|
sampler3D _Sampler3D;
|
||
|
int _Type;
|
||
|
|
||
|
float4 frag (v2f_img i) : SV_Target
|
||
|
{
|
||
|
if (_Type == 4)
|
||
|
{
|
||
|
return UNITY_SAMPLE_TEX2DARRAY (_Array, float3(i.uv, 0));
|
||
|
}
|
||
|
else if (_Type == 3)
|
||
|
{
|
||
|
return texCUBE (_Cube, float3(i.uv,0));
|
||
|
}
|
||
|
else if (_Type == 2)
|
||
|
{
|
||
|
return tex3D (_Sampler3D, float3(i.uv,0));
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return tex2D (_Sampler, i.uv);
|
||
|
}
|
||
|
}
|
||
|
ENDCG
|
||
|
}
|
||
|
}
|
||
|
}
|