154 lines
5.5 KiB
HLSL
154 lines
5.5 KiB
HLSL
//////////////////////////////////////////////////////
|
|
// MK Toon Uniform //
|
|
// //
|
|
// Created by Michael Kremmel //
|
|
// www.michaelkremmel.de //
|
|
// Copyright © 2021 All rights reserved. //
|
|
//////////////////////////////////////////////////////
|
|
|
|
#ifndef MK_TOON_UNIFORM
|
|
#define MK_TOON_UNIFORM
|
|
|
|
#if defined(MK_URP)
|
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
|
#elif defined(MK_LWRP)
|
|
#include "Packages/com.unity.render-pipelines.lightweight/ShaderLibrary/Core.hlsl"
|
|
#else
|
|
#include "UnityCG.cginc"
|
|
#endif
|
|
|
|
#include "Pipeline.hlsl"
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
// UNIFORM VARIABLES
|
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
// The compiler should optimized the code by stripping away unused uniforms
|
|
// This way its also possible to avoid an inconsistent buffer size error and
|
|
// use the SRP Batcher, while compile different variants of the shader
|
|
// Every PerDraw (builtin engine variables) should accessed via the builtin include files
|
|
// Its not clear if a block based setup for the srp batcher is required,
|
|
// therefore all uniforms are grouped this way:
|
|
//
|
|
// fixed | fixed2 | fixed3 | fixed4
|
|
// half | half2 | half3 | half4
|
|
// float | float2 | float3 | float4
|
|
// Sampler2D | Sampler3D
|
|
|
|
CBUFFER_START(UnityPerMaterial)
|
|
uniform autoLP _AlphaCutoff;
|
|
uniform autoLP _Metallic;
|
|
uniform autoLP _Smoothness;
|
|
uniform autoLP _Roughness;
|
|
uniform autoLP _Anisotropy;
|
|
uniform autoLP _LightTransmissionDistortion;
|
|
uniform autoLP _LightBandsScale;
|
|
uniform autoLP _LightThreshold;
|
|
uniform autoLP _DrawnClampMin;
|
|
uniform autoLP _DrawnClampMax;
|
|
uniform autoLP _Contrast;
|
|
uniform autoLP _Saturation;
|
|
uniform autoLP _Brightness;
|
|
uniform autoLP _DiffuseSmoothness;
|
|
uniform autoLP _DiffuseThresholdOffset;
|
|
uniform autoLP _SpecularSmoothness;
|
|
uniform autoLP _SpecularThresholdOffset;
|
|
uniform autoLP _RimSmoothness;
|
|
uniform autoLP _RimThresholdOffset;
|
|
uniform autoLP _IridescenceSmoothness;
|
|
uniform autoLP _IridescenceThresholdOffset;
|
|
uniform autoLP _LightTransmissionSmoothness;
|
|
uniform autoLP _LightTransmissionThresholdOffset;
|
|
uniform autoLP _RimSize;
|
|
uniform autoLP _IridescenceSize;
|
|
uniform autoLP _DissolveAmount;
|
|
uniform autoLP _DissolveBorderSize;
|
|
uniform autoLP _OutlineNoise;
|
|
uniform autoLP _DiffuseWrap;
|
|
uniform autoLP _DetailMix;
|
|
uniform autoLP _RefractionDistortionFade;
|
|
uniform autoLP _GoochRampIntensity;
|
|
uniform autoLP _VertexAnimationIntensity;
|
|
|
|
uniform autoLP3 _DetailColor;
|
|
uniform autoLP3 _SpecularColor;
|
|
uniform autoLP3 _LightTransmissionColor;
|
|
|
|
uniform autoLP4 _AlbedoColor;
|
|
uniform autoLP4 _DissolveBorderColor;
|
|
uniform autoLP4 _OutlineColor;
|
|
uniform autoLP4 _IridescenceColor;
|
|
uniform autoLP4 _RimColor;
|
|
uniform autoLP4 _RimBrightColor;
|
|
uniform autoLP4 _RimDarkColor;
|
|
uniform autoLP4 _GoochDarkColor;
|
|
uniform autoLP4 _GoochBrightColor;
|
|
uniform autoLP4 _VertexAnimationFrequency;
|
|
|
|
uniform half _DetailNormalMapIntensity;
|
|
uniform half _NormalMapIntensity;
|
|
uniform half _Parallax;
|
|
uniform half _OcclusionMapIntensity;
|
|
uniform half _LightBands;
|
|
uniform half _ThresholdMapScale;
|
|
uniform half _ArtisticFrequency;
|
|
uniform half _DissolveMapScale;
|
|
uniform half _DrawnMapScale;
|
|
uniform half _SketchMapScale;
|
|
uniform half _HatchingMapScale;
|
|
uniform half _OutlineSize;
|
|
uniform half _SpecularIntensity;
|
|
uniform half _LightTransmissionIntensity;
|
|
uniform half _RefractionDistortionMapScale;
|
|
uniform half _IndexOfRefraction;
|
|
uniform half _RefractionDistortion;
|
|
|
|
uniform half3 _EmissionColor;
|
|
|
|
uniform float _SoftFadeNearDistance;
|
|
uniform float _SoftFadeFarDistance;
|
|
uniform float _CameraFadeNearDistance;
|
|
uniform float _CameraFadeFarDistance;
|
|
uniform float _OutlineFadeMin;
|
|
uniform float _OutlineFadeMax;
|
|
|
|
uniform float4 _AlbedoMap_ST;
|
|
uniform float4 _MainTex_ST;
|
|
uniform float4 _DetailMap_ST;
|
|
CBUFFER_END
|
|
|
|
UNIFORM_TEXTURE_2D(_AlbedoMap); //1
|
|
UNIFORM_TEXTURE_2D(_AlbedoMap1);
|
|
UNIFORM_TEXTURE_2D(_AlbedoMap2);
|
|
UNIFORM_TEXTURE_2D(_AlbedoMap3);
|
|
UNIFORM_TEXTURE_2D(_RefractionDistortionMap); //2
|
|
UNIFORM_TEXTURE_2D(_SpecularMap); //3
|
|
UNIFORM_TEXTURE_2D(_RoughnessMap); //3
|
|
UNIFORM_TEXTURE_2D(_MetallicMap); //3
|
|
UNIFORM_TEXTURE_2D(_DetailMap); //4
|
|
UNIFORM_TEXTURE_2D(_DetailNormalMap); //5
|
|
UNIFORM_TEXTURE_2D(_NormalMap); //6
|
|
UNIFORM_TEXTURE_2D(_HeightMap); //7
|
|
UNIFORM_TEXTURE_2D(_ThicknessMap); //8
|
|
UNIFORM_TEXTURE_2D(_OcclusionMap); //9
|
|
UNIFORM_TEXTURE_2D(_ThresholdMap); //10
|
|
UNIFORM_TEXTURE_2D(_GoochRamp); //11
|
|
UNIFORM_TEXTURE_2D(_DiffuseRamp); //12
|
|
UNIFORM_TEXTURE_2D(_SpecularRamp); //13
|
|
UNIFORM_TEXTURE_2D(_RimRamp); //14
|
|
UNIFORM_TEXTURE_2D(_LightTransmissionRamp); //15
|
|
UNIFORM_TEXTURE_2D(_IridescenceRamp); //16
|
|
UNIFORM_TEXTURE_2D(_SketchMap); //17
|
|
UNIFORM_TEXTURE_2D(_DrawnMap); //17
|
|
UNIFORM_TEXTURE_2D(_HatchingBrightMap); //17
|
|
UNIFORM_TEXTURE_2D(_HatchingDarkMap); //18
|
|
UNIFORM_TEXTURE_2D(_GoochBrightMap); //19
|
|
UNIFORM_TEXTURE_2D(_GoochDarkMap); //20
|
|
UNIFORM_TEXTURE_2D(_DissolveMap); //21
|
|
UNIFORM_TEXTURE_2D(_DissolveBorderRamp); //22
|
|
UNIFORM_TEXTURE_2D(_EmissionMap); //23
|
|
uniform sampler2D _VertexAnimationMap; //24
|
|
//Depth //25
|
|
//Refraction //26
|
|
uniform sampler2D _OutlineMap; // Only Outline
|
|
uniform sampler3D _DitherMaskLOD; // Only Shadows
|
|
#endif |