You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

63 lines
1.2 KiB

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"
UNITY_DECLARE_TEX2DARRAY( _Array );
samplerCUBE _Cube;
sampler2D _Sampler;
sampler3D _Sampler3D;
int _Default;
int _Type;
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);
}
else
{
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
}
}
}