diff --git a/Shaders/VRMShaders.shadervariants b/Shaders/VRMShaders.shadervariants index 894f514e2..9df453611 100644 Binary files a/Shaders/VRMShaders.shadervariants and b/Shaders/VRMShaders.shadervariants differ diff --git a/Shaders/VRMUnlitCutout.shader b/Shaders/VRMUnlitCutout.shader new file mode 100644 index 000000000..edb666f9b --- /dev/null +++ b/Shaders/VRMUnlitCutout.shader @@ -0,0 +1,58 @@ +Shader "VRM/UnlitTexture" +{ + Properties + { + _MainTex ("Texture", 2D) = "white" {} + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + // make fog work + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + UNITY_FOG_COORDS(1) + float4 vertex : SV_POSITION; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + // sample the texture + fixed4 col = tex2D(_MainTex, i.uv); + // apply fog + UNITY_APPLY_FOG(i.fogCoord, col); + return col; + } + ENDCG + } + } +} diff --git a/Shaders/VRMUnlitCutout.shader.meta b/Shaders/VRMUnlitCutout.shader.meta new file mode 100644 index 000000000..b53679264 --- /dev/null +++ b/Shaders/VRMUnlitCutout.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1a70c9898704e1a4691843883f5101af +timeCreated: 1522661614 +licenseType: Free +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/VRMUnlitTexture.shader b/Shaders/VRMUnlitTexture.shader new file mode 100644 index 000000000..33052c9b3 --- /dev/null +++ b/Shaders/VRMUnlitTexture.shader @@ -0,0 +1,61 @@ +Shader "VRM/UnlitCutout" +{ +Properties { + _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} + _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 +} +SubShader { + Tags {"Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout"} + LOD 100 + + Lighting Off + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f { + float4 vertex : SV_POSITION; + float2 texcoord : TEXCOORD0; + UNITY_FOG_COORDS(1) + UNITY_VERTEX_OUTPUT_STEREO + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + fixed _Cutoff; + + v2f vert (appdata_t v) + { + v2f o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + o.vertex = UnityObjectToClipPos(v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + fixed4 col = tex2D(_MainTex, i.texcoord); + clip(col.a - _Cutoff); + UNITY_APPLY_FOG(i.fogCoord, col); + return col; + } + ENDCG + } +} + +} diff --git a/Shaders/VRMUnlitTexture.shader.meta b/Shaders/VRMUnlitTexture.shader.meta new file mode 100644 index 000000000..aefa97566 --- /dev/null +++ b/Shaders/VRMUnlitTexture.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4c9ce97af40038f45811fc4b0975a483 +timeCreated: 1522661614 +licenseType: Free +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/VRMUnlitTransparent.shader b/Shaders/VRMUnlitTransparent.shader new file mode 100644 index 000000000..e6d9ea0c3 --- /dev/null +++ b/Shaders/VRMUnlitTransparent.shader @@ -0,0 +1,60 @@ +Shader "VRM/UnlitTransparent" +{ +Properties { + _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} +} + +SubShader { + Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"} + LOD 100 + + ZWrite Off + Blend SrcAlpha OneMinusSrcAlpha + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f { + float4 vertex : SV_POSITION; + float2 texcoord : TEXCOORD0; + UNITY_FOG_COORDS(1) + UNITY_VERTEX_OUTPUT_STEREO + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + v2f vert (appdata_t v) + { + v2f o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + o.vertex = UnityObjectToClipPos(v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + fixed4 col = tex2D(_MainTex, i.texcoord); + UNITY_APPLY_FOG(i.fogCoord, col); + return col; + } + ENDCG + } +} + +} diff --git a/Shaders/VRMUnlitTransparent.shader.meta b/Shaders/VRMUnlitTransparent.shader.meta new file mode 100644 index 000000000..a2e35ec09 --- /dev/null +++ b/Shaders/VRMUnlitTransparent.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: df359ad0838642d4fa0339514fcbbb2d +timeCreated: 1522661614 +licenseType: Free +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/VRMUnlitTransparentZWrite.shader b/Shaders/VRMUnlitTransparentZWrite.shader new file mode 100644 index 000000000..1e95e40c9 --- /dev/null +++ b/Shaders/VRMUnlitTransparentZWrite.shader @@ -0,0 +1,57 @@ +Shader "VRM/UnlitTransparentZWrite" { Properties { + _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} +} + +SubShader { + Tags {"Queue"="AlphaTest+150" "IgnoreProjector"="True" "RenderType"="Transparent"} + LOD 100 + + ZWrite On + Blend SrcAlpha OneMinusSrcAlpha + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f { + float4 vertex : SV_POSITION; + float2 texcoord : TEXCOORD0; + UNITY_FOG_COORDS(1) + UNITY_VERTEX_OUTPUT_STEREO + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + v2f vert (appdata_t v) + { + v2f o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + o.vertex = UnityObjectToClipPos(v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + fixed4 col = tex2D(_MainTex, i.texcoord); + UNITY_APPLY_FOG(i.fogCoord, col); + return col; + } + ENDCG + } +} + } \ No newline at end of file diff --git a/Shaders/VRMUnlitTransparentZWrite.shader.meta b/Shaders/VRMUnlitTransparentZWrite.shader.meta new file mode 100644 index 000000000..b7cb6fe16 --- /dev/null +++ b/Shaders/VRMUnlitTransparentZWrite.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 429a3203ab2959741aab76fa2856b450 +timeCreated: 1522661614 +licenseType: Free +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: