D'un fichier .xmp à l'image que vous gardez.

Un préréglage est analysé une fois en un jeu de paramètres, converti en table de correspondance 3D pour le viseur, puis rejoué en pleine précision virgule flottante sur l'image non compressée du capteur au déclenchement. Une seule implémentation, écrite en Rust, pilote les deux chemins — c'est pourquoi l'aperçu et la photographie concordent.

Dernière mise à jour:

Le trajet d'une photographie

  1. Le fichier est analysé

    Un préréglage .xmp est du XML. Chaque attribut Camera Raw en est extrait vers un même jeu de paramètres : balance des blancs et exposition, tonalité et courbes, TSL, étalonnage couleur, détail, effets et masques éventuels. Les attributs que le moteur ne reconnaît pas sont ignorés plutôt que traités comme des erreurs : un préréglage exporté par un Lightroom plus récent se charge donc avec tout ce qu'il comprend.

  2. Le préréglage devient un pipeline

    Ces paramètres deviennent une séquence ordonnée d'opérations — balance des blancs et exposition, puis tonalité et courbes, puis couleur, puis le travail spatial : clarté, correction du voile, netteté, masques, vignetage et grain. L'ordre est fixe, car les mêmes réglages appliqués dans un autre ordre ne donnent pas la même photographie.

  3. Le viseur reçoit une table de correspondance

    Tout ce qui ne dépend que de la couleur du pixel lui-même — courbes, TSL, étalonnage couleur, Couleur ponctuelle — est converti une fois en table de correspondance 3D au moment où vous changez de préréglage. Le GPU applique ensuite cette table à chaque image sans coût supplémentaire, ce qui permet au rendu de suivre un flux vidéo en direct.

  4. Le déclencheur exécute le vrai traitement

    Appuyer sur le déclencheur rejoue le même pipeline en virgule flottante sur toute l'image non compressée du capteur, sans aucune interpolation de la table de correspondance. La halation et le grain utilisent un code identique sur les deux chemins : la texture que vous avez cadrée est celle que vous obtenez.

  5. L'original est conservé

    Une copie intacte de l'image est enregistrée à côté de la version traitée par défaut, et en mode RAW les données brutes du capteur sont écrites dans leur propre DNG ProRAW. Appliquer un rendu se défait en supprimant un fichier, ce n'est pas une décision irréversible prise sans vous demander.

Pourquoi l'aperçu et la photographie concordent

La plupart des appareils qui proposent un filtre en direct exécutent un code pour l'aperçu et un autre pour le fichier, et les deux divergent — d'où le conseil habituel de photographier à plat et d'étalonner ensuite.

Ici, les deux chemins appellent la même implémentation Rust avec les mêmes paramètres. L'aperçu échange de la précision contre de la vitesse, et rien d'autre : une table échantillonnée sur une grille plutôt que le calcul mené pixel par pixel. Quelle opération a lieu, dans quel ordre, avec quelle valeur : tout cela est commun.

Ce qu'une table de correspondance ne peut pas contenir

Une table de correspondance associe une couleur à une couleur : elle ne peut donc porter que les réglages qui ne dépendent que du pixel. Tout ce qui doit observer les pixels voisins est spatial — clarté, correction du voile, netteté, réduction du bruit, vignetage, masques et grain — et s'exécute comme une passe distincte sur les deux chemins.

C'est aussi pourquoi un préréglage comportant plusieurs masques coûte plus cher dans le viseur qu'un préréglage sans masque : chaque masque représente une série de passes GPU plein cadre à chaque image, alors que son travail colorimétrique était intégré gratuitement à la table.

Ajusté sur Lightroom, pas deviné

Les opérateurs de saturation et de luminance TSL ont été ajustés sur la sortie de Lightroom plutôt que réimplémentés à partir d'une supposition sur la formule : un préréglage construit dans Lightroom atterrit donc là où son auteur l'a placé.

Là où une commande n'est réellement pas implémentée, le moteur la rend comme neutre et peut le signaler, au lieu de lui substituer quelque chose d'approchant. Un préréglage est un ensemble de valeurs choisies délibérément ; en afficher discrètement d'autres est pire que de n'en afficher aucune.

Rien ne quitte l'appareil

Il n'y a pas de serveur. L'analyse, le rendu, la capture et l'export ont tous lieu sur le téléphone, et les photographies sont écrites directement dans votre photothèque.

Se connecter à Google Drive ou OneDrive pour récupérer des préréglages stocke le jeton dans le trousseau iOS et l'utilise pour lire des fichiers .xmp, rien d'autre.