user 6393b12072 Chore: Unity 6.3 업그레이드 및 외부 에셋 업데이트
- Unity 6.2 → 6.3 업그레이드
- Beautify URP 에셋 업데이트
- Stylized Water 3 에셋 제거
- PIDI Planar Reflections shadergraph 업데이트
- 각종 메타파일 및 에셋 파일 Unity 6.3 호환 업데이트
- lilToon, AmplifyShaderEditor 등 외부 에셋 설정 변경

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 00:27:54 +09:00

158 lines
6.1 KiB
HLSL

#ifndef __BEAUTIFY_COMMON_INCLUDE
#define __BEAUTIFY_COMMON_INCLUDE
// Set to 1 to support orthographic mode
#define BEAUTIFY_ORTHO 0
// Set to 1 to enable Sobel outline
#define BEAUTIFY_OUTLINE_SOBEL 0
// Set to 1 to enable alternate chromatic aberration method
#define BEAUTIFY_CABERRATION_ALT 0
// Set to 1 to use legacy eye adaptation mode
#define BEAUTIFY_EA_LEGACY_MODE 0
TEXTURE2D(_BlueNoise);
float4 _BlueNoise_TexelSize;
TEXTURE2D_X_FLOAT(_CameraDepthTexture);
SAMPLER(sampler_CameraDepthTexture);
float HighPrecisionSampleSceneDepth(float2 uvStereo)
{
return SAMPLE_TEXTURE2D_X(_CameraDepthTexture, sampler_CameraDepthTexture, uvStereo).r;
}
#if BEAUTIFY_ORTHO
#if UNITY_REVERSED_Z
#define BEAUTIFY_GET_DEPTH_01(x) (1.0-x)
#define BEAUTIFY_GET_DEPTH_EYE(x) ((1.0-x) * _ProjectionParams.z)
#define BEAUTIFY_GET_SCENE_DEPTH_01(x) (1.0 - HighPrecisionSampleSceneDepth(x))
#define BEAUTIFY_GET_SCENE_DEPTH_EYE(x) ((1.0 - HighPrecisionSampleSceneDepth(x)) * _ProjectionParams.z)
#define BEAUTIFY_GET_CUSTOM_DEPTH_01(s, x) (1.0 - SAMPLE_TEXTURE2D_X(s, sampler_PointClamp, x).r)
#else
#define BEAUTIFY_GET_DEPTH_01(x) (x)
#define BEAUTIFY_GET_DEPTH_EYE(x) (x * _ProjectionParams.z)
#define BEAUTIFY_GET_SCENE_DEPTH_01(x) HighPrecisionSampleSceneDepth(x)
#define BEAUTIFY_GET_SCENE_DEPTH_EYE(x) (HighPrecisionSampleSceneDepth(x) * _ProjectionParams.z)
#define BEAUTIFY_GET_CUSTOM_DEPTH_01(s, x) SAMPLE_TEXTURE2D_X(s, sampler_PointClamp, x).r
#endif
#else
#define BEAUTIFY_GET_DEPTH_01(x) Linear01Depth(x, _ZBufferParams)
#define BEAUTIFY_GET_DEPTH_EYE(x) LinearEyeDepth(x, _ZBufferParams)
#define BEAUTIFY_GET_SCENE_DEPTH_01(x) Linear01Depth(HighPrecisionSampleSceneDepth(x), _ZBufferParams)
#define BEAUTIFY_GET_SCENE_DEPTH_EYE(x) LinearEyeDepth(HighPrecisionSampleSceneDepth(x), _ZBufferParams)
#define BEAUTIFY_GET_CUSTOM_DEPTH_01(s, x) Linear01Depth(SAMPLE_TEXTURE2D_X(s, sampler_PointClamp, x).r, _ZBufferParams)
#endif
// Base for COC - required for Android
#define COC_BASE 128
// Optimization for SSPR
#define uvN uv1
#define uvE uv2
#define uvW uv3
#define uvS uv4
#if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) || defined(SINGLE_PASS_STEREO)
#define BEAUTIFY_VERTEX_CROSS_UV_DATA
#define BEAUTIFY_VERTEX_OUTPUT_CROSS_UV(o)
#define BEAUTIFY_VERTEX_OUTPUT_GAUSSIAN_UV(o)
#define BEAUTIFY_FRAG_SETUP_CROSS_UV(i) float3 uvInc = float3(_MainTex_TexelSize.x, _MainTex_TexelSize.y, 0); float2 uvN = i.uv + uvInc.zy; float2 uvE = i.uv + uvInc.xz; float2 uvW = i.uv - uvInc.xz; float2 uvS = i.uv - uvInc.zy;
#if defined(BEAUTIFY_BLUR_HORIZ)
#define BEAUTIFY_FRAG_SETUP_GAUSSIAN_UV(i) float2 inc = float2(_MainTex_TexelSize.x * 1.3846153846 * _BlurScale, 0); float2 uv1 = i.uv - inc; float2 uv2 = i.uv + inc; float2 inc2 = float2(_MainTex_TexelSize.x * 3.2307692308 * _BlurScale, 0); float2 uv3 = i.uv - inc2; float2 uv4 = i.uv + inc2;
#else
#define BEAUTIFY_FRAG_SETUP_GAUSSIAN_UV(i) float2 inc = float2(0, _MainTex_TexelSize.y * 1.3846153846 * _BlurScale); float2 uv1 = i.uv - inc; float2 uv2 = i.uv + inc; float2 inc2 = float2(0, _MainTex_TexelSize.y * 3.2307692308 * _BlurScale); float2 uv3 = i.uv - inc2; float2 uv4 = i.uv + inc2;
#endif
#else
#define BEAUTIFY_VERTEX_CROSS_UV_DATA float2 uvN : TEXCOORD1; float2 uvW: TEXCOORD2; float2 uvE: TEXCOORD3; float2 uvS: TEXCOORD4;
#define BEAUTIFY_VERTEX_OUTPUT_CROSS_UV(o) float3 uvInc = float3(_MainTex_TexelSize.x, _MainTex_TexelSize.y, 0); o.uvN = o.uv + uvInc.zy; o.uvE = o.uv + uvInc.xz; o.uvW = o.uv - uvInc.xz; o.uvS = o.uv - uvInc.zy;
#define BEAUTIFY_FRAG_SETUP_CROSS_UV(i) float2 uv1 = i.uv1; float2 uv2 = i.uv2; float2 uv3 = i.uv3; float2 uv4 = i.uv4;
#if defined(BEAUTIFY_BLUR_HORIZ)
#define BEAUTIFY_VERTEX_OUTPUT_GAUSSIAN_UV(o) float2 inc = float2(_MainTex_TexelSize.x * 1.3846153846 * _BlurScale, 0); o.uv1 = o.uv - inc; o.uv2 = o.uv + inc; float2 inc2 = float2(_MainTex_TexelSize.x * 3.2307692308 * _BlurScale, 0); o.uv3 = o.uv - inc2; o.uv4 = o.uv + inc2;
#else
#define BEAUTIFY_VERTEX_OUTPUT_GAUSSIAN_UV(o) float2 inc = float2(0, _MainTex_TexelSize.y * 1.3846153846 * _BlurScale); o.uv1 = o.uv - inc; o.uv2 = o.uv + inc; float2 inc2 = float2(0, _MainTex_TexelSize.y * 3.2307692308 * _BlurScale); o.uv3 = o.uv - inc2; o.uv4 = o.uv + inc2;
#endif
#define BEAUTIFY_FRAG_SETUP_GAUSSIAN_UV(i) float2 uv1 = i.uv1; float2 uv2 = i.uv2; float2 uv3 = i.uv3; float2 uv4 = i.uv4;
#endif
#if BEAUTIFY_TURBO
#define GAMMA_TO_LINEAR(x) FastSRGBToLinear(x)
#define LINEAR_TO_GAMMA(x) FastLinearToSRGB(x)
#else
#define GAMMA_TO_LINEAR(x) SRGBToLinear(x)
#define LINEAR_TO_GAMMA(x) LinearToSRGB(x)
#endif
// Common functions
float _FlipY;
struct AttributesSimple
{
float4 positionOS : POSITION;
float2 uv : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct VaryingsSimple
{
float4 positionCS : SV_POSITION;
float2 uv : TEXCOORD0;
UNITY_VERTEX_OUTPUT_STEREO
};
VaryingsSimple VertOS(AttributesSimple input) {
VaryingsSimple output;
UNITY_SETUP_INSTANCE_ID(input);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);
output.positionCS = input.positionOS;
output.positionCS.y *= _ProjectionParams.x * _FlipY;
output.uv = input.uv;
return output;
}
inline float getLuma(float3 rgb) {
//const float3 lum = float3(0.2627, 0.6780, 0.0593); // Rec.2020 (HDR/wide gamut)
//const float3 lum = float3(0.2126, 0.7152, 0.0722); // Rec709 (sRGB/HD)
const float3 lum = float3(0.299, 0.587, 0.114); // Rec601 (SD/broadcast)
return dot(rgb, lum);
}
inline float3 getNormal(float depth, float depth1, float depth2, float2 offset1, float2 offset2) {
float3 p1 = float3(offset1, depth1 - depth);
float3 p2 = float3(offset2, depth2 - depth);
float3 normal = cross(p1, p2);
return normalize(normal);
}
inline float getSaturation(float3 rgb) {
float maxVal = max(max(rgb.r, rgb.g), rgb.b);
float minVal = min(min(rgb.r, rgb.g), rgb.b);
float delta = maxVal - minVal;
return delta / max(maxVal, 0.0001);
}
#endif // __BEAUTIFY_COMMON_INCLUDE