95 lines
2.8 KiB
GLSL
95 lines
2.8 KiB
GLSL
Shader "KriptoFX/ME/Distortion"
|
|
{
|
|
Properties
|
|
{
|
|
[Header(Main Settings)]
|
|
[Toggle(USE_MAINTEX)] _UseMainTex("Use Main Texture", Int) = 0
|
|
[HDR]_TintColor("Tint Color", Color) = (1,1,1,1)
|
|
_MainTex ("Main Texture", 2D) = "black" {}
|
|
[Header(Main Settings)]
|
|
[Normal]_NormalTex ("Normal(RG) Alpha(A)", 2D) = "bump" {}
|
|
[HDR]_MainColor("Main Color", Color) = (1,1,1,1)
|
|
_Distortion ("Distortion", Float) = 100
|
|
[Toggle(USE_REFRACTIVE)] _UseRefractive("Use Refractive Distort", Int) = 0
|
|
_RefractiveStrength("Refractive Strength", Range (-1, 1)) = 0
|
|
|
|
[Toggle(USE_SOFT_PARTICLES)] _UseSoft("Use Soft Particles", Int) = 0
|
|
_InvFade("Soft Particles Factor", Float) = 3
|
|
[Space]
|
|
[Header(Height Settings)]
|
|
[Toggle(USE_HEIGHT)] _UseHeight("Use Height Map", Int) = 0
|
|
_HeightTex ("Height Tex", 2D) = "white" {}
|
|
_Height("_Height", Float) = 0.1
|
|
_HeightUVScrollDistort("Height UV Scroll(XY)", Vector) = (8, 12, 0, 0)
|
|
|
|
[Space]
|
|
[Header(Fresnel)]
|
|
[Toggle(USE_FRESNEL)] _UseFresnel("Use Fresnel", Int) = 0
|
|
[HDR]_FresnelColor("Fresnel Color", Color) = (0.5,0.5,0.5,1)
|
|
_FresnelPow ("Fresnel Pow", Float) = 5
|
|
_FresnelR0 ("Fresnel R0", Float) = 0.04
|
|
_FresnelDistort("Fresnel Distort", Float) = 1500
|
|
|
|
[Space]
|
|
[Header(Cutout)]
|
|
[Toggle(USE_CUTOUT)] _UseCutout("Use Cutout", Int) = 0
|
|
_CutoutTex ("Cutout Tex", 2D) = "white" {}
|
|
_Cutout("Cutout", Range(0, 1.2)) = 1
|
|
[HDR]_CutoutColor("Cutout Color", Color) = (1,1,1,1)
|
|
_CutoutThreshold("Cutout Threshold", Range(0, 1)) = 0.015
|
|
|
|
[Space]
|
|
[Header(Rendering)]
|
|
[Toggle] _ZWriteMode("ZWrite On?", Int) = 0
|
|
[Enum(Off,0,Front,1,Back,2)] _CullMode ("Culling", Float) = 2 //0 = off, 2=back
|
|
[Toggle(USE_ALPHA_CLIPING)] _UseAlphaCliping("Use Alpha Cliping", Int) = 0
|
|
_AlphaClip ("Alpha Clip Threshold", Float) = 10
|
|
[Toggle(USE_BLENDING)] _UseBlending("Use Blending", Int) = 0
|
|
}
|
|
SubShader
|
|
{
|
|
|
|
|
|
Tags { "Queue"="Transparent-10" "IgnoreProjector"="True" "RenderType"="Transparent" }
|
|
ZWrite [_ZWriteMode]
|
|
Cull [_CullMode]
|
|
Offset -1, -1
|
|
Blend SrcAlpha OneMinusSrcAlpha
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma glsl
|
|
#pragma target 3.0
|
|
|
|
#pragma vertex vert
|
|
#pragma fragment frag
|
|
#pragma multi_compile_fog
|
|
#pragma multi_compile_particles
|
|
#pragma fragmentoption ARB_precision_hint_fastest
|
|
|
|
#pragma shader_feature USE_REFRACTIVE
|
|
#pragma shader_feature USE_SOFT_PARTICLES
|
|
#pragma shader_feature USE_FRESNEL
|
|
#pragma shader_feature USE_CUTOUT
|
|
#pragma shader_feature USE_HEIGHT
|
|
#pragma shader_feature USE_ALPHA_CLIPING
|
|
#pragma shader_feature USE_BLENDING
|
|
#pragma shader_feature USE_MAINTEX
|
|
|
|
#include "UnityCG.cginc"
|
|
|
|
float4 CustomGrabScreenPos(float4 vertex)
|
|
{
|
|
return ComputeGrabScreenPos(vertex);
|
|
}
|
|
|
|
#include "ME_DistortionPasses.cginc"
|
|
|
|
ENDCG
|
|
}
|
|
}
|
|
|
|
CustomEditor "ME_CustomShaderGUI"
|
|
}
|