153 lines
4.6 KiB
Plaintext
153 lines
4.6 KiB
Plaintext
![]() |
Shader "ToonSketch/Basic Outlined"
|
||
|
{
|
||
|
Properties
|
||
|
{
|
||
|
_Color("Color", Color) = (1,1,1,1)
|
||
|
_MainTex("Albedo", 2D) = "white" {}
|
||
|
_Cutoff("Alpha Cutoff", Range(0.0, 1.0)) = 0.5
|
||
|
|
||
|
[Enum(Soft,0,Hard,1)] _Style("Style", Float) = 0
|
||
|
[Enum(Off,0,Front,1,Back,2)] _Cull("Cull Mode", Float) = 2
|
||
|
[Enum(Opaque,0,Cutout,1,Fade,2,Transparent,3)] _Blend("Blend Mode", Float) = 0
|
||
|
|
||
|
[Toggle(_TS_RAMPTEX_ON)] _Ramp("Ramp Texture?", Float) = 0
|
||
|
[NoScaleOffset] _RampTex("Ramp Texture", 2D) = "white" {}
|
||
|
_RampThreshold("Ramp Threshold", Range(0, 1)) = 0.5
|
||
|
_RampCutoff("Ramp Cutoff", Range(0, 1)) = 0.1
|
||
|
|
||
|
[Toggle(_TS_BUMPMAP_ON)] _Bump("Bump Mapping?", Float) = 0
|
||
|
[Normal] _BumpMap("Bump Map", 2D) = "bump" {}
|
||
|
_BumpScale("Bump Strength", Range(0, 1)) = 1
|
||
|
|
||
|
[Toggle(_TS_SPECULAR_ON)] _Specular("Specular Highlights?", Float) = 0
|
||
|
_SpecularTex("Specular Texture", 2D) = "white" {}
|
||
|
_SpecularColor("Specular Color", Color) = (1, 1, 1)
|
||
|
[Enum(Additive,0,Multiply,1)] _SpecularType("Specular Type", Float) = 0
|
||
|
[Enum(Albedo Alpha,0,Specular Alpha,1)] _SmoothnessType("Smoothness Type", Float) = 0
|
||
|
_Smoothness("Smoothness", Range(0, 1)) = 0.5
|
||
|
[Toggle(_TS_GLOSSREFLECT_ON)] _GlossyReflections("Glossy Reflections?", Float) = 1.0
|
||
|
_SpecularThreshold("Specular Threshold", Range(0, 1)) = 0.5
|
||
|
_SpecularCutoff("Specular Cutoff", Range(0, 1)) = 0.1
|
||
|
_SpecularIntensity("Specular Intensity", Range(0, 10)) = 1
|
||
|
|
||
|
[Toggle(_TS_RIMLIGHT_ON)] _RimLighting("Rim Lighting?", Float) = 0
|
||
|
_RimColor("Rim Color", Color) = (1, 1, 1, 1)
|
||
|
[Enum(Additive,0,Multiply,1)] _RimType("Rim Type", Float) = 0
|
||
|
[Toggle(_TS_RIMCOLORING_ON)] _RimColoring("Rim Use Color?", Float) = 1
|
||
|
_RimMin("Rim Min", Range(0, 1)) = 0.6
|
||
|
_RimMax("Rim Max", Range(0, 1)) = 0.8
|
||
|
_RimIntensity("Rim Intensity", Range(0, 10)) = 1
|
||
|
|
||
|
[Toggle(_TS_IGNOREINDIRECT_ON)] _IgnoreIndirect("Ignore Indirect Lighting?", Float) = 0
|
||
|
|
||
|
_OutlineColor("Outline Color", Color) = (1, 1, 1, 1)
|
||
|
_OutlineWidth("Outline Width", Range(0, 20)) = 1
|
||
|
_OutlineSaturation("Outline Saturation", Range(0, 1)) = 0.5
|
||
|
_OutlineBrightness("Outline Brightness", Range(0, 1)) = 0.5
|
||
|
_OutlineAngle("Outline Angle Cutoff", Range(0, 180)) = 90
|
||
|
|
||
|
[HideInInspector] _SrcBlend("__src", Float) = 1
|
||
|
[HideInInspector] _DstBlend("__dst", Float) = 0
|
||
|
[HideInInspector] _ZWrite("__zw", Float) = 1
|
||
|
}
|
||
|
CGINCLUDE
|
||
|
#define UNITY_SETUP_BRDF_INPUT SpecularSetup
|
||
|
ENDCG
|
||
|
SubShader
|
||
|
{
|
||
|
Tags { "RenderType"="Opaque" "PerformanceChecks"="False" }
|
||
|
LOD 200
|
||
|
|
||
|
Pass
|
||
|
{
|
||
|
Name "FORWARD"
|
||
|
Tags { "LightMode" = "ForwardBase" }
|
||
|
Blend[_SrcBlend][_DstBlend]
|
||
|
Cull[_Cull]
|
||
|
ZWrite[_ZWrite]
|
||
|
ZTest LEqual
|
||
|
|
||
|
CGPROGRAM
|
||
|
#pragma target 3.0
|
||
|
|
||
|
#pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
|
||
|
|
||
|
#pragma shader_feature _ _TS_RAMPTEX_ON
|
||
|
#pragma shader_feature _ _TS_BUMPMAP_ON
|
||
|
#pragma shader_feature _ _TS_SPECULAR_ON
|
||
|
#pragma shader_feature _ _TS_GLOSSREFLECT_ON
|
||
|
#pragma shader_feature _ _TS_RIMLIGHT_ON
|
||
|
#pragma shader_feature _ _TS_RIMCOLORING_ON
|
||
|
#pragma shader_feature _ _TS_IGNOREINDIRECT_ON
|
||
|
|
||
|
#pragma multi_compile_fwdbase
|
||
|
#pragma multi_compile_fog
|
||
|
#pragma multi_compile_instancing
|
||
|
|
||
|
#pragma vertex TS_VertForwardBase
|
||
|
#pragma fragment TS_FragForwardBase
|
||
|
|
||
|
#include "../../Shared/Shaders/TS_Forward.cginc"
|
||
|
ENDCG
|
||
|
}
|
||
|
Pass
|
||
|
{
|
||
|
Name "FORWARD_DELTA"
|
||
|
Tags { "LightMode" = "ForwardAdd" }
|
||
|
Blend[_SrcBlend] One
|
||
|
Cull[_Cull]
|
||
|
Fog { Color(0,0,0,0) }
|
||
|
ZWrite Off
|
||
|
ZTest LEqual
|
||
|
|
||
|
CGPROGRAM
|
||
|
#pragma target 3.0
|
||
|
|
||
|
#pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
|
||
|
|
||
|
#pragma shader_feature _ _TS_RAMPTEX_ON
|
||
|
#pragma shader_feature _ _TS_BUMPMAP_ON
|
||
|
#pragma shader_feature _ _TS_SPECULAR_ON
|
||
|
#pragma shader_feature _ _TS_GLOSSREFLECT_ON
|
||
|
#pragma shader_feature _ _TS_RIMLIGHT_ON
|
||
|
#pragma shader_feature _ _TS_RIMCOLORING_ON
|
||
|
|
||
|
#pragma multi_compile_fwdadd_fullshadows
|
||
|
#pragma multi_compile_fog
|
||
|
#pragma multi_compile_instancing
|
||
|
|
||
|
#pragma vertex TS_VertForwardAdd
|
||
|
#pragma fragment TS_FragForwardAdd
|
||
|
|
||
|
#include "../../Shared/Shaders/TS_Forward.cginc"
|
||
|
ENDCG
|
||
|
}
|
||
|
UsePass "Hidden/ToonSketch/Outlines/OUTLINE"
|
||
|
Pass
|
||
|
{
|
||
|
Name "ShadowCaster"
|
||
|
Tags { "LightMode" = "ShadowCaster" }
|
||
|
Cull[_Cull]
|
||
|
ZWrite On
|
||
|
ZTest LEqual
|
||
|
|
||
|
CGPROGRAM
|
||
|
#pragma target 3.0
|
||
|
|
||
|
#pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
|
||
|
#pragma shader_feature _ _TS_BUMPMAP_ON
|
||
|
|
||
|
#pragma multi_compile_shadowcaster
|
||
|
#pragma multi_compile_instancing
|
||
|
|
||
|
#pragma vertex vertShadowCaster
|
||
|
#pragma fragment fragShadowCaster
|
||
|
|
||
|
#include "UnityStandardShadow.cginc"
|
||
|
ENDCG
|
||
|
}
|
||
|
}
|
||
|
Fallback "Diffuse"
|
||
|
CustomEditor "ToonSketchBasicOutlineShaderGUI"
|
||
|
}
|