# 작동 방식 — .xmp 파일에서 남는 한 장까지. > xMosaique가 Lightroom XMP 프리셋을 어떻게 읽어 GPU 룩업 테이블로 카메라 영상에 실시간으로 얹고, 셔터를 누르는 순간 같은 처리를 부동소수점으로 센서 전체 프레임에 다시 실행하는지. 프리셋은 한 번만 읽혀 매개변수 집합이 되고, 뷰파인더용 3D 룩업 테이블로 구워진 뒤, 셔터를 누르면 압축되지 않은 센서 프레임 위에서 완전한 부동소수점 정밀도로 다시 실행됩니다. Rust로 작성된 하나의 구현이 두 경로를 모두 움직이며, 그래서 미리보기와 사진이 일치합니다. ## 사진 한 장이 지나는 길 1. **파일을 읽는다** — .xmp 프리셋은 XML입니다. Camera Raw 속성이 모두 하나의 매개변수 집합으로 읽혀 들어옵니다. 화이트 밸런스와 노출, 톤과 곡선, HSL, 컬러 그레이딩, 세부, 효과, 그리고 마스크가 있다면 마스크까지. 엔진이 모르는 속성은 오류로 다루지 않고 무시하므로, 더 새로운 Lightroom이 내보낸 프리셋도 이해할 수 있는 것을 모두 지닌 채 불러와집니다. 2. **프리셋이 파이프라인이 된다** — 그 매개변수는 순서가 정해진 연산의 나열이 됩니다. 화이트 밸런스와 노출, 그다음 톤과 곡선, 그다음 색, 그다음 공간적인 작업 — 부분 대비, 안개 제거, 선명하게 하기, 마스크, 비네팅, 그레인. 순서는 고정입니다. 같은 조정이라도 순서가 달라지면 같은 사진이 나오지 않기 때문입니다. 3. **뷰파인더에는 룩업 테이블을 준다** — 픽셀 자신의 색만으로 정해지는 것 — 곡선, HSL, 컬러 그레이딩, 포인트 컬러 — 은 프리셋을 바꾸는 순간 3D 룩업 테이블로 한 번만 구워집니다. 이후 GPU는 그 테이블을 매 프레임에 추가 비용 없이 적용하기만 하면 되고, 그것이 룩이 실시간 영상을 따라갈 수 있는 이유입니다. 4. **셔터는 진짜를 실행한다** — 셔터를 누르면 같은 파이프라인이 압축되지 않은 센서 프레임 전체 위에서 부동소수점으로 다시 실행됩니다. 테이블의 보간은 전혀 섞이지 않습니다. 헐레이션과 그레인은 두 경로에서 동일한 코드를 쓰므로, 뷰파인더에서 본 질감이 그대로 나옵니다. 5. **원본은 남는다** — 손대지 않은 사본이 기본적으로 프리셋을 적용한 파일 옆에 저장되고, RAW 모드에서는 가공되지 않은 센서 데이터가 별도의 ProRAW DNG로 기록됩니다. 룩을 적용한 결과는 파일 하나를 지우면 되돌릴 수 있습니다. 묻지 않고 구워 넣는 일은 없습니다. ## 미리보기와 사진이 일치하는 이유 실시간 필터를 제공하는 카메라 대부분은 미리보기용 코드와 파일용 코드가 따로이고, 둘은 시간이 갈수록 어긋납니다. 평평하게 찍고 나중에 보정하라는 흔한 조언은 여기서 나옵니다. 여기서는 두 경로가 같은 매개변수로 같은 Rust 구현을 호출합니다. 미리보기가 맞바꾸는 것은 정밀도와 속도뿐입니다 — 픽셀마다 계산하는 대신 격자에서 표본을 뜬 테이블, 그것뿐입니다. 어떤 연산이 어떤 순서로 어떤 값으로 일어나는지는 공유됩니다. ## 룩업 테이블이 담을 수 없는 것 룩업 테이블은 색을 색에 대응시키므로, 픽셀 하나만으로 결정되는 조정만 담을 수 있습니다. 이웃 픽셀을 봐야 하는 것은 모두 공간적인 처리입니다 — 부분 대비, 안개 제거, 선명하게 하기, 노이즈 감소, 비네팅, 마스크, 그레인 — 이들은 두 경로에서 각각 독립된 패스로 실행됩니다. 마스크가 여러 개인 프리셋이 뷰파인더에서 더 무거운 것도 같은 이유입니다. 마스크 하나마다 매 프레임 전체 화면 GPU 패스가 여러 번 도는 반면, 그 색 작업은 테이블에 공짜로 접혀 들어가 있었습니다. ## 추측이 아니라 Lightroom에 맞춰 보정 HSL의 채도와 광도 연산자는 공식을 추측해 다시 구현한 것이 아니라 Lightroom 자체 출력에 맞춰 조정했습니다. Lightroom에서 만든 프리셋은 만든 사람이 둔 자리에 그대로 내려앉습니다. 정말로 구현되지 않은 항목은 비슷한 것으로 대체하지 않고 중립으로 렌더링하며, 그 사실을 알릴 수 있습니다. 프리셋은 누군가 의도해서 고른 숫자의 묶음입니다. 조용히 다른 숫자를 그리는 것은 아무것도 그리지 않는 것보다 나쁩니다. ## 기기 밖으로 나가는 것은 없다 서버가 없습니다. 읽기, 렌더링, 촬영, 내보내기가 모두 기기 안에서 이뤄지고 사진은 곧바로 보관함에 기록됩니다. 프리셋을 가져오려고 Google Drive나 OneDrive에 로그인하면 그 토큰은 iOS 키체인에 저장되어 .xmp 파일을 읽는 데에만 쓰입니다. --- ## 다운로드 App Store xMosaique는 Adobe Lightroom과 Camera Raw의 XMP 프리셋을 촬영 전에 뷰파인더에서 그대로 적용하는 iPhone 카메라 앱입니다. - **App Store**: https://apps.apple.com/us/app/xmosaique-preset-camera/id6800525371 - **가격**: 무료. 구독도, 인앱 구입도, 광고도 없습니다. - **지원 기기**: iPhone - **요구 사항**: iOS 18.0 이상 - **현재 버전**: 1.3.2 — 2026-09-07 - **Android**: 개발 중. 공개되지 않았고, 아직 사전 등록도 받지 않습니다. --- - Canonical HTML page: https://xmosaique.com/ko/how-it-works/ - This page in other languages: [English (United States)](https://xmosaique.com/how-it-works.md) · [Français (France)](https://xmosaique.com/fr/how-it-works.md) · [Deutsch (Deutschland)](https://xmosaique.com/de/how-it-works.md) · [हिन्दी (भारत)](https://xmosaique.com/hi/how-it-works.md) · [Indonesia (Indonesia)](https://xmosaique.com/id/how-it-works.md) · [Italiano (Italia)](https://xmosaique.com/it/how-it-works.md) · [日本語 (日本)](https://xmosaique.com/ja/how-it-works.md) · [简体中文](https://xmosaique.com/zh-Hans/how-it-works.md) · [繁體中文](https://xmosaique.com/zh-Hant/how-it-works.md) · [Português (Brasil)](https://xmosaique.com/pt-BR/how-it-works.md) · [Español (Latinoamérica)](https://xmosaique.com/es-419/how-it-works.md) · [Español (España)](https://xmosaique.com/es-ES/how-it-works.md) - All pages in this language: https://xmosaique.com/ko/index.md - Consolidated brief (all pages, all languages): https://xmosaique.com/AI_info.md