ThreeKingdomsSlingshot/Assets/VFX/_BuiltinPorts/TKS_HdrApprox.cginc

34 lines
2.0 KiB
HLSL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 삼국지 슬링샷 빌트인 이식판 공용(2026-11-09 · 2026-11-10 셀화) — URP 원본의 HDR 밝기를 이 게임 아트(굵은 검정 외곽선 + 평면 셀 · 감마 · 블룸 없음)에 맞춘다.
// 2026-11-09: 원본 팩은 색 × 사용자 데이터 배수로 1 을 넘는 밝기를 만들고 URP 블룸이 흰빛으로 번지게 함 → 블룸 없는 이 게임에서는 1 에서 잘려 평평한 단색 띠(실측) → 넘친 만큼 흰색 쪽으로.
// 2026-11-10 PD 「이펙트 색감·연출이 게임 분위기와 안 맞음 → Fable 검토」 반영: 흰 섞임 상한 35 %(흰 돔 · 김 서린 유리 느낌 제거) + 색 · 불투명도 3단계(셀 띠) — 값 = Fable 권고(fable 검토 2026-11-10).
#ifndef TKS_HDR_APPROX_INCLUDED
#define TKS_HDR_APPROX_INCLUDED
#ifndef TKS_HDR_BLEED
#define TKS_HDR_BLEED 1.0
#endif
// 흰색 섞임 상한(0~1) · 셀 단계 수 · 뒷면 셸 그늘(진영색 × 밝기 배율) 과 불투명도
#define TKS_HOT_MAX 0.2 // 1차 0.35(Fable) → 모래 바탕에서 머리가 희뿌옇게 흐려져(실측) 0.2
#define TKS_CEL_STEPS 3.0
#define TKS_RIM_SHADE 0.45
#define TKS_RIM_ALPHA 0.5
#define TKS_ALPHA_GAIN 1.25 // 셀 단계 전 불투명도 보강(얇은 셸 띠가 모래 바탕에서 보이게 · 2026-11-10 실측)
// hot(반환) = 넘친 밝기 0~1 — 불투명도 보강용은 그대로 · 흰색 섞임만 TKS_HOT_MAX 로 제한(2026-11-10 1차 = 둘 다 제한 → 머리 셸이 사라짐 · 실측)
inline float3 TKS_HotToWhite(float3 rgb, out float hot)
{
float peak = max(rgb.r, max(rgb.g, rgb.b));
hot = saturate((peak - 1.0) * TKS_HDR_BLEED);
float3 c = saturate(rgb);
c = c + hot * TKS_HOT_MAX * (1.0 - c);
return floor(c * TKS_CEL_STEPS + 0.5) / TKS_CEL_STEPS; // 색 3단계(평면 셀)
}
// 불투명도 3단계(반올림) — 부드러운 그라데이션을 셀 띠로 · 1/6 아래만 0(1차 버림 = 1/3 아래가 다 사라짐 · 실측)
inline float TKS_CelAlpha(float a)
{
return floor(saturate(a * TKS_ALPHA_GAIN) * TKS_CEL_STEPS + 0.5) / TKS_CEL_STEPS;
}
#endif