-->

Shader "Test/Test2DShader"
{
SubShader
{
Tags
{
"RenderPipeline" = "UniversalPipeline"
"Queue" = "Transparent"
}
Cull Off
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
HLSLPROGRAM
#pragma vertex vert
#pragma fragment frag
//URP用の基本ライブラリをインクルード
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
struct Attributes
{
half2 uv : TEXCOORD0;
float4 positionOS : POSITION;
half4 color : COLOR;
};
struct Varyings
{
half2 uv : TEXCOORD0;
float4 positionCS : POSITION;
half4 color : COLOR;
};
//uGUI Image > Source Imageにアタッチされた画像を参照する
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
Varyings vert (Attributes input)
{
Varyings output;
//オブジェクト(ローカル)座標をクリップ空間座標に変換
output.positionCS = TransformObjectToHClip(input.positionOS.xyz);
output.uv = input.uv;
output.color = input.color;
return output;
}
half4 frag (Varyings input) : SV_Target
{
//Source Imageにアタッチされた画像内の、input.uv座標のピクセル色を抜き出す
half4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, input.uv);
col *= input.color;
return col;
}
ENDHLSL
}
}
}
half4 frag (Varyings input) : SV_Target
{
//Source Imageにアタッチされた画像内の、input.uv座標のピクセル色を抜き出す
half4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, input.uv);
col *= input.color;
return col;
}


Shader "Test/Test2DShader"
{

SubShader
{
Tags
{
"RenderPipeline" = "UniversalPipeline"
"Queue" = "Transparent"
}
Cull Off
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha

Pass
{
HLSLPROGRAM
#pragma vertex vert

#pragma fragment frag
// URP用の基本ライブラリをインクルード
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
struct Attributes
{
half2 uv : TEXCOORD0;
float4 positionOS : POSITION;
half4 color : COLOR;
};
struct Varyings
{
half2 uv : TEXCOORD0;
float4 positionCS : SV_POSITION;
half4 color : COLOR;
};
Varyings vert (Attributes input)
{
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
float4 frag (Varyings input) : SV_Target
{
half2 uv : TEXCOORD0;
float4 positionOS : POSITION;
half4 color : COLOR;
struct Attributes
{
half2 uv : TEXCOORD0;
float4 positionOS : POSITION;
half4 color : COLOR;
};

struct Varyings
{
half2 uv : TEXCOORD0;
float4 positionCS : SV_POSITION;
half4 color : COLOR;
};
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
Varyings vert (Attributes input)
{
Varyings output;
//オブジェクト(ローカル)座標をクリップ空間座標に変換
output.positionCS = TransformObjectToHClip(input.positionOS.xyz);
output.uv = input.uv;
output.color = input.color;
return output;
}
output.positionCS = TransformObjectToHClip(input.positionOS.xyz);
output.positionCS = half4(output.positionCS.x + 0.1, output.positionCS.y + 0.1, output.positionCS.z, output.positionCS.w);

//output.uv = input.uv;
output.uv = half2(input.uv.x + 0.25, input.uv.y);

half4 frag (Varyings input) : SV_Target
{
half4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, input.uv);
col *= input.color;
return col;
}
half4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, input.uv);
//half4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, input.uv);
half4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, half2(input.uv.x + 0.25, input.uv.y));

col *= input.color;

return col;
}
ENDHLSL
}
}
}

half4 frag (Varyings input) : SV_Target
{
half4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, input.uv);
//col *= input.color;
col.r = 1 - col.r;
col.g = 1 - col.g;
col.b = 1 - col.b;
return col;
}
