Files
behind_glass/docs/mosaic-reference-validation.md
T
2026-10-06 12:16:46 +09:00

2.0 KiB
Raw Blame History

Mosaic 시각 보정

사용자 레퍼런스에 따라 원형 물결과 검은 격자 대신 사각 셀별 이미지 분절을 목표로 했다. Astra가 명세·검토, GPT-5.6 Luna가 코드를 수정했다. 이전 구현은 before-mosaic-reference/에 보존했다.

수정 파일: src/shaders/mosaic.frag, src/main.ts, index.html. 프로젝트 지침과 README도 갱신했다.

  • 셀별 샘플 중심, 확대율, 미세 회전, 카메라 굴절 보조를 적용한다.
  • 조각 유리의 샘플 폭은 셀의 .35~.50, 촘촘 유리는 .03~.10이며 5-tap 샘플을 사용한다. 단일 색 texel을 고정하는 pixelation은 아니다.
  • 검은 셀 경계선과 원형 bulge를 제거했다.
  • 중립 사진 사각형 밖은 원 RT를 유지하고 가장자리 약 .75셀에서 굴절 강도를 줄인다. 큰 카메라 이동에서는 실제 사진 경계와 정적 패널 경계가 다를 수 있다.
  • 기본 Final, 프리셋별 Grid/Strength 동기화, grid 범위 6~96.

브라우저 확인:

  • 동일 사용자 사진·동일 구도에서 두 스타일 비교. 셀 경계에서 눈·코·얼굴이 분절되고, 이전 검은 격자·원형 물결이 사라짐을 확인했다.
  • 좌우 drag에서 셀 내부의 눈/코 조각이 달라짐을 확인했다.
  • 강도 0 Final과 No Glass의 위치·색상을 육안 비교했다. 픽셀 단위 차이 검사는 수행하지 않았다.
  • 새 검증 탭에서 Mosaic 두 스타일 및 Reeded/Frosted를 전환하고 error 로그 빈 배열을 확인했다. 개발 중 HMR로 발생한 이전 오류는 새 세션 검증과 구분했다.
  • 390×844 및 844×390 viewport에서 가로 넘침 없이 레이아웃이 유지됨을 확인했다.
  • TypeScript/production build 통과.

사진 속 실제 유리의 광학 물성을 추정·복원한 결과가 아니라, 레퍼런스의 인상을 목표로 한 시각 근사다. 사진 구도·얼굴 크기·격자 수에 따라 인상이 달라진다. 이번 변경에서는 실제 영상·물리 gyro·성능 실측을 추가 수행하지 않았다.