103 lines
2.4 KiB
Plaintext
103 lines
2.4 KiB
Plaintext
Shader "SpatialFramework/Textured Fresnel/Standard"
|
|
{
|
|
Properties
|
|
{
|
|
_EdgeColor("Edge Color", COLOR) = (1,1,1,1)
|
|
_Color("Color", COLOR) = (.25,.25,.25,.25)
|
|
_EdgeData("Edge min, max, S-strength, S-Blend", VECTOR) = (0, 0.85, 0.5, 1)
|
|
_MainTex("Texture", 2D) = "white" {}
|
|
}
|
|
SubShader
|
|
{
|
|
// First, we do a stencil like technique of writing depth of the model,
|
|
// so we don't have any transparent overdraw in subsequent steps
|
|
Tags{ "RenderType" = "Transparent" "Queue" = "Transparent" }
|
|
Pass
|
|
{
|
|
Tags
|
|
{
|
|
"RenderType" = "Transparent"
|
|
"Queue" = "Transparent"
|
|
"LightMode" = "UniversalForward"
|
|
"RenderPipeline" = "UniversalPipeline"
|
|
}
|
|
LOD 100
|
|
|
|
Name "Depth Fill"
|
|
Blend One One
|
|
Lighting Off
|
|
ZTest Less
|
|
Offset -1, 0
|
|
|
|
ColorMask 0
|
|
|
|
CGPROGRAM
|
|
|
|
#pragma vertex vert
|
|
#pragma fragment fragEmpty
|
|
|
|
#include "UnityCG.cginc"
|
|
#include "TexturedStableFresnelCommon.cginc"
|
|
|
|
ENDCG
|
|
}
|
|
|
|
Pass
|
|
{
|
|
Tags
|
|
{
|
|
"RenderType" = "Transparent"
|
|
"Queue" = "Transparent"
|
|
"LightMode" = "Always"
|
|
}
|
|
LOD 100
|
|
|
|
Name "Depth Fill"
|
|
Blend One One
|
|
Lighting Off
|
|
ZWrite Off
|
|
Offset -1, 0
|
|
|
|
ColorMask 0
|
|
|
|
CGPROGRAM
|
|
|
|
#pragma vertex vert
|
|
#pragma fragment fragEmpty
|
|
|
|
#include "UnityCG.cginc"
|
|
#include "TexturedStableFresnelCommon.cginc"
|
|
|
|
ENDCG
|
|
}
|
|
|
|
// Next, fill in with the base and rim color
|
|
Pass
|
|
{
|
|
Tags
|
|
{
|
|
"RenderType" = "Transparent"
|
|
"Queue" = "Transparent"
|
|
}
|
|
|
|
Name "Fresnel Color"
|
|
Blend SrcAlpha OneMinusSrcAlpha
|
|
Lighting Off
|
|
ZTest LEqual
|
|
ZWrite Off
|
|
Offset -1, 0
|
|
|
|
CGPROGRAM
|
|
|
|
#pragma vertex vert
|
|
#pragma fragment fragRimShader
|
|
|
|
#include "UnityCG.cginc"
|
|
#include "TexturedStableFresnelCommon.cginc"
|
|
|
|
ENDCG
|
|
}
|
|
}
|
|
FallBack "Diffuse"
|
|
}
|