FittsLaw/Assets/Oculus/Avatar/Content/Materials/AvatarSurfaceShaderPBS.shader

80 lines
1.7 KiB
Plaintext
Raw Normal View History

2018-10-14 23:33:23 -04:00
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "OvrAvatar/AvatarSurfaceShaderPBS" {
Properties{
// Global parameters
_Alpha("Alpha", Range(0.0, 1.0)) = 1.0
_Albedo("Albedo (RGB)", 2D) = "" {}
_Surface("Metallic (R) Occlusion (G) and Smoothness (A)", 2D) = "" {}
}
SubShader{
Tags {
"Queue" = "Transparent"
"RenderType" = "Transparent"
}
Pass {
ZWrite On
Cull Off
ColorMask 0
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 3.0
#include "UnityCG.cginc"
struct v2f {
float4 position : SV_POSITION;
};
v2f vert(appdata_full v) {
// Output
v2f output;
output.position = UnityObjectToClipPos(v.vertex);
return output;
}
float4 frag(v2f input) : COLOR {
return 0;
}
ENDCG
}
LOD 200
CGPROGRAM
// Physically based Standard lighting model, and enable shadows on all light types
#pragma surface surf Standard vertex:vert nolightmap alpha noforwardadd
float _Alpha;
sampler2D _Albedo;
float4 _Albedo_ST;
sampler2D _Surface;
float4 _Surface_ST;
struct Input {
float2 texcoord;
};
void vert(inout appdata_full v, out Input o) {
UNITY_INITIALIZE_OUTPUT(Input, o);
o.texcoord = v.texcoord.xy;
}
void surf (Input IN, inout SurfaceOutputStandard o) {
o.Albedo = tex2D(_Albedo, TRANSFORM_TEX(IN.texcoord, _Albedo)).rgb;
float4 surfaceParams = tex2D(_Surface, TRANSFORM_TEX(IN.texcoord, _Surface));
o.Metallic = surfaceParams.r;
o.Occlusion = surfaceParams.g;
o.Smoothness = surfaceParams.a;
o.Alpha = _Alpha;
}
#pragma only_renderers d3d11 gles3 gles
ENDCG
}
FallBack "Diffuse"
}