first commit
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# 시점·셀 굴절 일관성 수정
|
||||
|
||||
사용자 지적: 시점에 따른 셀 굴곡이 일관되지 않고 각 셀이 별도 사진 정보를 보유한 것처럼 보인다.
|
||||
|
||||
원인: 기본 조각 유리의 셀별 임의 확대율/샘플 중심이 광선 기반 굴절보다 크게 작용하고, 굴절 이동에도 같은 임의 변환을 적용했다.
|
||||
|
||||
변경 기준:
|
||||
- 기본 조각 유리의 임의 이미지 확대·중심 이동과 이웃 셀 색상 조각 혼합을 제거한다.
|
||||
- 카메라에서 유리판까지의 광선, 공통 곡면 모델의 법선, 굴절 광선이 공통 기준 평면에 닿는 위치를 사용한다.
|
||||
- 곡면은 셀 좌표에 고정되고 반사에도 같은 법선을 사용한다. 미세한 고정 표면 편차만 허용한다.
|
||||
- 사진/Depth/RenderTarget, 곡면 부호와 기본값, Ref1/Ref2 배치를 보존한다. 강한 흐림은 추가하지 않는다.
|
||||
- 조각 유리의 새 경로는 실제 depth 표면과 광선을 교차시키는 완전한 물리 모델은 아니다. Depth 시차가 반영된 장면 텍스처를 공통 z=0 기준 평면의 투영으로 샘플한다.
|
||||
|
||||
검증 기준: 같은 사진의 정면/좌/우/정면복귀, 광택0, 굴곡-1/0/+1, Distortion0, 모바일 배치. 화면 오류나 블러 감소만으로 시각 목표 완료를 판단하지 않는다.
|
||||
|
||||
## 적용 결과
|
||||
|
||||
- 수정: `src/shaders/mosaic.frag`. 조각 유리에서 셀별 무작위 이미지 확대/중심 이동 및 이웃 색상 조각 혼합을 제거했다.
|
||||
- 같은 카메라 광선과 곡면 법선으로 공통 z=0 평면의 굴절 교점을 투영해 한 번 샘플한다. 반사도 같은 법선을 쓴다. 별도 블러는 사용하지 않는다.
|
||||
- 테두리만 둥글게 강조되던 곱 형태의 4차 곡면 대신, 축별 2차/4차 성분을 섞은 얕은 사각 곡면을 사용했다. 기본 곡면 높이 계수 .12, 기본 경계 전환 .04, 광선 이동의 부드러운 상한 .55셀이다. 높이는 셀 크기의 제곱과 유리-기준평면 거리에 따라 제한해 고밀도 격자의 과도한 접힘을 줄였다.
|
||||
- 미세한 고정 높이 편차와 셀 기울기는 남기고, 촘촘 유리의 기존 경로는 유지했다.
|
||||
|
||||
## 검증 결과와 범위
|
||||
|
||||
- 빌드·타입 검사 통과. 기존 큰 번들 안내는 남는다.
|
||||
- `dog1` 사진으로 정면/좌/우/정면복귀를 확인했다. 임의의 크롭 조각이 지배하던 이전 출력보다 눈·코가 공통 장면에 연결된 채 변한다.
|
||||
- 최종 정면과 복귀 이미지의 차이는 전체 RGB 채널 중 3개 채널에서 값 1뿐이었다. 픽셀 반올림 수준이며 완전한 바이트 동일성으로 보고하지 않는다.
|
||||
- Distortion0 대 No Glass의 100×100 중앙 비교는 RGB 1개 채널에서 값1 차이였다. 화면상 일치하나 완전한 바이트 동일성은 아니다.
|
||||
- 굴곡 -1/0/+1 및 광택0 화면을 확인했고, 기본 격자와 96칸 반복 선 무늬 테스트를 확인했다. 같은 곡면 규칙의 반복을 확인했으며 실제 굴절 광선을 depth 표면과 교차하는 정밀 물리 검증은 아니다.
|
||||
- 390px 화면 가로 넘침 없음. 페이지 오류 없음. 실기기 GPU 성능은 측정하지 않았다.
|
||||
- 이번에는 광학적 일관성을 우선했다. 이전 임의 확대·크롭의 강한 조각 효과는 줄었다. 레퍼런스의 시각적 강도까지 동일하게 달성했다고 판정하지 않는다.
|
||||
- 사진 가장자리의 작은 부족 영역을 완전히 해결한 변경은 아니다. AI depth 처리 코드는 변경하지 않았으며 새 프로필에서 AI 추론 자체는 재실행하지 않았다.
|
||||
|
||||
증거: `before-center.png`, `before-right.png`, `final-center.png`, `final-right.png`, `final-return.png`, `grid10.png`, `grid96.png`, `final-validation.json`.
|
||||
Reference in New Issue
Block a user