De um arquivo .xmp à imagem que você guarda.

Um preset é lido uma vez para virar um conjunto de parâmetros, convertido em tabela de consulta 3D para o visor e refeito com precisão total em ponto flutuante sobre o quadro não comprimido do sensor quando você aperta o botão. Uma única implementação, escrita em Rust, comanda os dois caminhos — é por isso que a prévia e a fotografia coincidem. Uma LUT .cube já é uma tabela de consulta, então pula a leitura e vai direto para a tabela.

Última atualização:

O caminho de uma fotografia

  1. O arquivo é lido

    Um preset .xmp é XML. Cada atributo do Camera Raw é extraído para um único conjunto de parâmetros: balanço de branco e exposição, tons e curvas, HSL, gradação de cor, detalhe, efeitos e as máscaras que houver. Atributos que o motor não reconhece são ignorados em vez de tratados como erro — um preset exportado por um Lightroom mais novo carrega, portanto, com tudo o que ele entende.

  2. O preset vira um pipeline

    Esses parâmetros viram uma sequência fixa de operações — balanço de branco e exposição, depois tons e curvas, depois cor, depois o trabalho espacial: nitidez local, remoção de neblina, nitidez, máscaras, vinheta e grão. A ordem é fixa, porque os mesmos ajustes aplicados em outra sequência não produzem a mesma fotografia.

  3. O visor recebe uma tabela de consulta

    Tudo o que depende apenas da cor do próprio pixel — curvas, HSL, gradação de cor, Cor Pontual — é convertido uma vez em tabela de consulta 3D no momento em que você troca de preset. A GPU aplica então essa tabela a cada quadro sem custo adicional, e é isso que permite ao look acompanhar um sinal ao vivo.

  4. O disparo executa o processamento de verdade

    Apertar o botão refaz o mesmo pipeline em ponto flutuante sobre o quadro inteiro e não comprimido do sensor, sem nenhuma interpolação da tabela. Halação e grão usam código idêntico nos dois caminhos: a textura que você enquadrou é a que você recebe.

  5. O original pode ser preservado

    Ative Manter original sem processar nos Ajustes e uma cópia intacta do quadro é salva ao lado da versão processada, e aí aplicar um look se desfaz apagando um arquivo. No modo RAW, os dados brutos do sensor são sempre gravados em um DNG ProRAW próprio.

Por que a prévia e a fotografia coincidem

A maioria das câmeras com filtro ao vivo roda um código para a prévia e outro para o arquivo, e os dois divergem — daí o conselho de sempre: fotografe plano e trate depois.

Aqui os dois caminhos chamam a mesma implementação em Rust com os mesmos parâmetros. A prévia troca precisão por velocidade, e nada além disso: uma tabela amostrada em uma grade em vez do cálculo pixel a pixel. Qual operação acontece, em que ordem e com que valor é comum aos dois.

O que uma tabela de consulta não consegue carregar

Uma tabela de consulta mapeia cor para cor, então só pode carregar ajustes que dependam apenas do pixel. Tudo o que precisa olhar os pixels vizinhos é espacial — nitidez local, remoção de neblina, nitidez, redução de ruído, vinheta, máscaras e grão — e roda como passagem própria nos dois caminhos.

É também por isso que um preset com várias máscaras custa mais no visor do que um sem nenhuma: cada máscara são várias passagens de GPU em quadro inteiro a cada frame, enquanto o trabalho de cor dela tinha entrado de graça na tabela.

Calibrado contra o Lightroom, não chutado

Os operadores HSL de saturação e luminância foram calibrados contra a saída do próprio Lightroom em vez de reimplementados a partir de um palpite sobre a fórmula — um preset feito no Lightroom cai onde seu autor o colocou.

Onde um controle realmente não está implementado, o motor o renderiza como neutro e pode avisar, em vez de substituí-lo por algo aproximadamente parecido. Um preset é um conjunto de números escolhidos de propósito; renderizar outros em silêncio é pior do que não renderizar nenhum.

Uma LUT pega o atalho

Uma LUT .cube já é o que o visor constrói a partir de um preset — uma tabela que leva cada cor a outra —, então não há pipeline para montar. A tabela é lida uma vez, adaptada ao espaço de cor em que a câmera trabalha e aplicada direto ao sinal ao vivo.

O disparo aplica a mesma tabela ao quadro inteiro na intensidade que você definiu, e grão, halação, bloom e os outros efeitos rodam por cima exatamente como num preset. Visor e fotografia amostram uma única tabela, então coincidem.

Nada sai do aparelho

Não existe servidor. Leitura, renderização, captura e exportação acontecem todas no telefone, e as fotografias são gravadas direto na sua fototeca.

Entrar no Google Drive ou no OneDrive guarda o token no Chaveiro do iOS. Ele serve para ler os presets e LUTs que você importa, e para gravar só quando você salva um deles de volta nessa conta.