317 lines
9.7 KiB
HLSL
317 lines
9.7 KiB
HLSL
/*
|
|
* The MIT License
|
|
*
|
|
* Copyright 2018-2021 whiteflare.
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
|
|
* to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
* and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
*/
|
|
|
|
#ifndef INC_UNLIT_WF_UNTOON_UNIFORM
|
|
#define INC_UNLIT_WF_UNTOON_UNIFORM
|
|
|
|
////////////////////////////
|
|
// Texture & Sampler
|
|
////////////////////////////
|
|
|
|
// _MainTex ================================================
|
|
|
|
DECL_MAIN_TEX2D (_MainTex);
|
|
#ifndef _WF_MOBILE
|
|
DECL_MAIN_TEX2D (_BK_BackTex);
|
|
#endif
|
|
|
|
// _MainTex の Sampler で参照するサブテクスチャ ============
|
|
|
|
DECL_SUB_TEX2D (_AL_MaskTex);
|
|
DECL_SUB_TEX2D (_EmissionMap);
|
|
DECL_SUB_TEX2D (_MetallicGlossMap);
|
|
DECL_SUB_TEX2D (_HL_MaskTex);
|
|
DECL_SUB_TEX2D (_TS_MaskTex);
|
|
DECL_SUB_TEX2D (_TR_MaskTex);
|
|
DECL_SUB_TEX2D (_OL_MaskTex);
|
|
DECL_SUB_TEX2D (_TL_CustomColorTex);
|
|
DECL_SUB_TEX2D (_CH_3chMaskTex);
|
|
#ifndef _WF_MOBILE
|
|
DECL_SUB_TEX2D (_NM_2ndMaskTex);
|
|
DECL_SUB_TEX2D (_SpecGlossMap);
|
|
DECL_SUB_TEX2D (_TS_BaseTex);
|
|
DECL_SUB_TEX2D (_TS_1stTex);
|
|
DECL_SUB_TEX2D (_TS_2ndTex);
|
|
DECL_SUB_TEX2D (_TS_3rdTex);
|
|
DECL_SUB_TEX2D (_OcclusionMap);
|
|
DECL_SUB_TEX2D (_LM_Texture);
|
|
DECL_SUB_TEX2D (_LM_MaskTex);
|
|
#endif
|
|
#ifdef _WF_LEGACY_TL_MASK // マスクをfragmentでアルファに反映する場合
|
|
DECL_SUB_TEX2D (_TL_MaskTex);
|
|
#endif
|
|
|
|
// 独自の Sampler で参照するサブテクスチャ =================
|
|
|
|
DECL_MAIN_TEX2D (_BumpMap); // UVはMainTexと共通だが別のFilterを使えるようにsampler2Dで定義する
|
|
#ifndef _WF_MOBILE
|
|
DECL_MAIN_TEX2D (_DetailNormalMap);
|
|
#endif
|
|
DECL_MAIN_TEXCUBE (_MT_Cubemap);
|
|
DECL_MAIN_TEX2D (_HL_MatcapTex);
|
|
DECL_MAIN_TEX2D (_OL_OverlayTex);
|
|
|
|
// vert から tex2Dlod で参照するサブテクスチャ =============
|
|
|
|
#ifndef _WF_LEGACY_TL_MASK // マスクをシフト時に太さに反映する場合
|
|
DECL_VERT_TEX2D (_TL_MaskTex);
|
|
#endif
|
|
#ifdef _WF_UNTOON_TESS
|
|
DECL_VERT_TEX2D (_TE_SmoothPowerTex);
|
|
#endif
|
|
|
|
////////////////////////////
|
|
// Other uniform variable
|
|
////////////////////////////
|
|
|
|
float4 _MainTex_ST;
|
|
float4 _Color;
|
|
float _Cutoff;
|
|
float _UseVertexColor;
|
|
float _Z_Shift;
|
|
|
|
#ifndef _WF_MOBILE
|
|
#ifdef _WF_LEGACY_FEATURE_SWITCH
|
|
float _BK_Enable;
|
|
#endif
|
|
float4 _BK_BackTex_ST;
|
|
float4 _BK_BackColor;
|
|
#endif
|
|
|
|
uint _AL_Source;
|
|
float _AL_Power;
|
|
float _AL_Fresnel;
|
|
float _AL_AlphaToMask;
|
|
float _AL_Z_Offset;
|
|
float _AL_InvMaskVal;
|
|
|
|
float _GL_CastShadow;
|
|
float _GL_LevelMin;
|
|
float _GL_LevelMax;
|
|
float _GL_BlendPower;
|
|
uint _GL_LightMode;
|
|
float _GL_CustomAzimuth;
|
|
float _GL_CustomAltitude;
|
|
float _GL_DisableBackLit;
|
|
float _GL_DisableBasePos;
|
|
|
|
float _GI_Enable;
|
|
float _GI_IndirectChroma;
|
|
float _GI_IndirectMultiplier;
|
|
float _GI_EmissionMultiplier;
|
|
|
|
#ifndef _WF_MOBILE
|
|
#ifdef _WF_LEGACY_FEATURE_SWITCH
|
|
float _CH_Enable;
|
|
#endif
|
|
float4 _CH_ColorR;
|
|
float4 _CH_ColorG;
|
|
float4 _CH_ColorB;
|
|
#endif
|
|
|
|
#ifndef _WF_MOBILE
|
|
#ifdef _WF_LEGACY_FEATURE_SWITCH
|
|
float _CL_Enable;
|
|
#endif
|
|
float _CL_DeltaH;
|
|
float _CL_DeltaS;
|
|
float _CL_DeltaV;
|
|
float _CL_Monochrome;
|
|
#endif
|
|
|
|
#ifdef _WF_LEGACY_FEATURE_SWITCH
|
|
float _ES_Enable;
|
|
#endif
|
|
float4 _EmissionColor;
|
|
uint _ES_BlendType;
|
|
uint _ES_Shape;
|
|
uint _ES_DirType;
|
|
float4 _ES_Direction;
|
|
float _ES_LevelOffset;
|
|
float _ES_Sharpness;
|
|
float _ES_Speed;
|
|
float _ES_AlphaScroll;
|
|
|
|
float _NM_Enable;
|
|
float _BumpScale;
|
|
float _NM_Power;
|
|
uint _NM_FlipMirror;
|
|
#ifndef _WF_MOBILE
|
|
uint _NM_2ndType;
|
|
float4 _DetailNormalMap_ST;
|
|
float _DetailNormalMapScale;
|
|
float _NM_InvMaskVal;
|
|
#endif
|
|
|
|
#ifdef _WF_LEGACY_FEATURE_SWITCH
|
|
float _MT_Enable;
|
|
#endif
|
|
float _MT_Metallic;
|
|
float _MT_ReflSmooth;
|
|
float _MT_BlendNormal;
|
|
float _MT_Brightness;
|
|
float _MT_Monochrome;
|
|
float _MT_GeomSpecAA;
|
|
uint _MT_MetallicMapType;
|
|
float _MT_Specular;
|
|
float _MT_SpecSmooth;
|
|
float _MT_InvMaskVal;
|
|
#ifndef _WF_MOBILE
|
|
float _MT_InvRoughnessMaskVal;
|
|
#endif
|
|
uint _MT_CubemapType;
|
|
float4 _MT_Cubemap_HDR;
|
|
float _MT_CubemapPower;
|
|
float _MT_CubemapHighCut;
|
|
|
|
float _HL_Enable;
|
|
uint _HL_CapType;
|
|
float3 _HL_MedianColor;
|
|
float3 _HL_MatcapColor;
|
|
float _HL_Power;
|
|
float _HL_BlendNormal;
|
|
float _HL_Parallax;
|
|
float _HL_InvMaskVal;
|
|
|
|
#ifndef _WF_MOBILE
|
|
#ifdef _WF_LEGACY_FEATURE_SWITCH
|
|
float _LM_Enable;
|
|
#endif
|
|
float4 _LM_Texture_ST;
|
|
float4 _LM_Color;
|
|
float3 _LM_RandColor;
|
|
uint _LM_UVType;
|
|
uint _LM_Shape;
|
|
float _LM_Scale;
|
|
float _LM_Dencity;
|
|
float _LM_Glitter;
|
|
float _LM_MinDist;
|
|
float _LM_MaxDist;
|
|
float _LM_Spot;
|
|
float _LM_AnimSpeed;
|
|
float _LM_ChangeAlpha;
|
|
float _LM_InvMaskVal;
|
|
#endif
|
|
|
|
#ifdef _WF_LEGACY_FEATURE_SWITCH
|
|
float _TS_Enable;
|
|
#endif
|
|
uint _TS_Steps;
|
|
float3 _TS_BaseColor;
|
|
float3 _TS_1stColor;
|
|
float3 _TS_2ndColor;
|
|
float3 _TS_3rdColor;
|
|
float _TS_Power;
|
|
float _TS_1stBorder;
|
|
float _TS_2ndBorder;
|
|
float _TS_3rdBorder;
|
|
float _TS_Feather;
|
|
float _TS_BlendNormal;
|
|
float _TS_InvMaskVal;
|
|
|
|
#ifdef _WF_LEGACY_FEATURE_SWITCH
|
|
float _TR_Enable;
|
|
#endif
|
|
float3 _TR_Color;
|
|
uint _TR_BlendType;
|
|
float _TR_Power;
|
|
float _TR_Feather;
|
|
float _TR_InvMaskVal;
|
|
float _TR_BlendNormal;
|
|
float _TR_PowerTop;
|
|
float _TR_PowerSide;
|
|
float _TR_PowerBottom;
|
|
|
|
#ifndef _WF_MOBILE
|
|
#ifdef _WF_LEGACY_FEATURE_SWITCH
|
|
float _OL_Enable;
|
|
#endif
|
|
uint _OL_UVType;
|
|
float4 _OL_Color;
|
|
float4 _OL_OverlayTex_ST;
|
|
uint _OL_BlendType;
|
|
float _OL_Power;
|
|
float _OL_CustomParam1;
|
|
float _OL_InvMaskVal;
|
|
float _OL_VertColToDecal;
|
|
float _OL_VertColToMask;
|
|
#endif
|
|
|
|
#ifdef _WF_LEGACY_FEATURE_SWITCH
|
|
float _TL_Enable;
|
|
#endif
|
|
float _TL_LineWidth;
|
|
uint _TL_LineType;
|
|
float _TL_Z_Shift;
|
|
float4 _TL_LineColor;
|
|
float _TL_BlendBase;
|
|
float _TL_BlendCustom;
|
|
float _TL_InvMaskVal;
|
|
float _TL_UseCutout;
|
|
|
|
#ifdef _WF_LEGACY_FEATURE_SWITCH
|
|
float _AO_Enable;
|
|
#endif
|
|
float _AO_UseLightMap;
|
|
float _AO_Contrast;
|
|
float _AO_Brightness;
|
|
float4 _AO_TintColor;
|
|
|
|
#ifndef _WF_MOBILE
|
|
#ifdef _WF_LEGACY_FEATURE_SWITCH
|
|
float _FG_Enable;
|
|
#endif
|
|
float4 _FG_Color;
|
|
float _FG_MinDist;
|
|
float _FG_MaxDist;
|
|
float _FG_Exponential;
|
|
float3 _FG_BaseOffset;
|
|
float3 _FG_Scale;
|
|
#endif
|
|
|
|
#ifdef _WF_UNTOON_TESS
|
|
float _TE_Factor;
|
|
float _TE_MinDist;
|
|
float _TE_MaxDist;
|
|
float _TE_SmoothPower;
|
|
float _TE_InvMaskVal;
|
|
#endif
|
|
|
|
#ifdef _WF_UNTOON_POWERCAP
|
|
#define WF_POWERCAP_DECL(id) \
|
|
float _HL_Enable_##id; \
|
|
uint _HL_CapType_##id; \
|
|
DECL_MAIN_TEX2D(_HL_MatcapTex_##id); \
|
|
float3 _HL_MedianColor_##id; \
|
|
float3 _HL_MatcapColor_##id; \
|
|
float _HL_Power_##id; \
|
|
float _HL_BlendNormal_##id; \
|
|
float _HL_Parallax_##id; \
|
|
DECL_SUB_TEX2D(_HL_MaskTex_##id); \
|
|
float _HL_InvMaskVal_##id;
|
|
|
|
WF_POWERCAP_DECL(1)
|
|
WF_POWERCAP_DECL(2)
|
|
WF_POWERCAP_DECL(3)
|
|
WF_POWERCAP_DECL(4)
|
|
WF_POWERCAP_DECL(5)
|
|
WF_POWERCAP_DECL(6)
|
|
WF_POWERCAP_DECL(7)
|
|
#endif
|
|
|
|
#endif
|