Files
behind_glass/docs/ref1-dark-color-planes.md
T
2026-10-06 12:16:46 +09:00

2.6 KiB

Ref1 어두운 색면 보존

사용자 지정: 이 구현과 현재 비교 설정은 현재 프로젝트에서 Ref1 목표에 가장 근접한 두 번째 옵션이다. 설정값은 docs/ref1-option-2.md에 보존한다.

2026-09-14 사용자는 깊이 기반 보호 결과가 눈·코만 따로 붙인 듯 보인다고 지적했다. 눈·코도 주변과 같은 사각 면으로 단순화하되, 밝은 얼굴색에 완전히 묻히지 않도록 어두운 색면의 존재를 남기는 방향을 승인했다.

구현 기준

  • 최종 픽셀의 어두움 보호와 원본 RGB fallback을 제거한다. 색면 강도 슬라이더의 원본/효과 혼합은 유지한다.
  • 기존 셀별 8×8 표본의 RGB를 유지하고 alpha에 앞쪽 depth × 어두운 색의 증거를 저장한다. 앞쪽 depth는 기존 0.80~0.95 smoothstep, 어두움은 1-smoothstep(0.10,0.20,휘도)이다. 유효하지 않은 표면의 증거는 0이다.
  • SSE 후보 선택에서 각 표본의 가중치를 1+3*증거로 둔다. 최대 4배이며, 기존 팔레트·사각 분할 후보 안에서 선택한다. 별도로 눈·코를 그리지 않는다.
  • 가까운 어두운 증거가 충분한 셀은 사각 분할 confidence를 1로 접근시켜 미세 윤곽 fallback을 줄인다. 셀 평균 증거 0.02~0.06 구간에서 부드럽게 증가한다.
  • 70ms 색면 전환 보간, 시점 반응, 배경 색면 및 자동 구도 변경 금지는 유지한다.

한계

사각 분할이 작은 눈보다 크면 어두운 면이 확대될 수 있다. 표본에 포착되지 않은 특징을 보존한다고 보장하지 않는다. 얼굴 인식 마스크는 아니므로 가까운 다른 어두운 물체도 가중된다. 이는 이전 픽셀 윤곽 보호를 대체하는 방식이다.

검증

dog1 / AI 상대 depth / 색면 1 / Grid 13 / 굴곡 1 / Distortion 1 / 확대 1 / 팬 0에서 정면과 +120px 이동을 확인했다. 눈의 작은 반짝임과 코의 세부 윤곽이 사라지고 두 눈·코가 어두운 사각 면으로 표현됐다. 잔디의 큰 색면을 유지했고, 이동에 따라 얼굴과 색면이 변화했다. 색면 0에서 기존 사진 굴절 출력으로 복원됨을 확인했다. 같은 사진의 수동 비교이며 모든 사진의 식별이나 자연스러움을 보장하지 않는다.

수정 파일은 src/shaders/mosaic.frag, src/shaders/region-palette.frag 및 관련 두 검사 스크립트다. axis-split, depth-distance(21 역투영/12 원본 UV 매핑), camera-history, continuity(493,760 Jacobian/87,200 seam) 검사와 npm run build 통과. 기존 큰 번들 경고는 유지된다. 별도 모바일 FPS/연속 영상 flicker 계측은 하지 않았다.