SDK 2.0.0. A API C++ é compartilhada com o Linux. Enums: Enums de parâmetros.
Aponte resource_path para resource.fbd
Os mecanismos desktop abrem o pacote com fopen. Passe o arquivo, não uma pasta:
resource.fbd junto com o app (ou em um diretório de assets) e resolva um caminho absoluto na inicialização.
Um mecanismo, ProcessImage serial
BeautyEffectEngine é criado com Create e não é um singleton. Mantenha uma instância para a sessão. ImageFrame e o mecanismo não são thread-safe — serialize ProcessImage em um único worker (ou no thread GL quando external_context = true).
shared_ptr quando a sessão da câmera terminar. Recriar o mecanismo a cada quadro é caro (licença + init).
FrameType no quadro
Defina frame->type antes de ProcessImage.
Stills grandes (prévia e exportação)
Não envie pixels em resolução total paraProcessImage a cada movimento do slider, nem descarte o original depois de reduzir.
Ao abrir a foto, mantenha o buffer completo e crie um quadro de prévia (lado longo cerca de 1280–1440). Ajustes processam a prévia (FrameType::Image). A exportação processa um quadro em resolução total com os mesmos setters. O tamanho da saída acompanha a entrada. A câmera continua na resolução de captura + FrameType::Video.
Intensidades
Comece baixo em tempo real. A remodelagem é[-1.0, 1.0]; as outras intensidades são [0.0, 1.0].
SetBeautySkinOnly(true) para que suavização / clareamento fiquem na pele.
Filtros e adesivos
Passe caminhos ou bytes.fbd. As alterações passam a valer no próximo ProcessImage. Evite trocar filtro/adesivo a cada quadro.
Monitorar com GetStats
avg_process_time_ms abaixo do orçamento de quadro (cerca de 33 ms a 30 fps). Prefira 720p para a prévia; use FrameType::Image para exportação de still.
Contexto OpenGL
Coloque
facebetter.dll ao lado do .exe (ou no PATH). Vincule facebetter.lib na compilação.
Pausar quando ocioso
Quando a janela estiver minimizada ou a câmera parar, puleProcessImage e opcionalmente engine.reset() se a sessão tiver acabado. Não processe no thread de UI se isso bloquear a entrada.
Autenticação
Prefiralicense_token para redes offline / restritas. Caso contrário, app_id + app_key online v2. Não hardcode chaves de produção em repositórios públicos — carregue da configuração. Veja Autenticação e licença.
