SDK 2.0.0. 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
Create devolve um mecanismo para a sessão, não um singleton de processo. ImageFrame e o mecanismo não são thread-safe. Serialize ProcessImage e os setters que mutam em um único thread.
- Crie o mecanismo e processe no thread cujo contexto GL é o atual. As texturas de entrada e saída devem pertencer a esse contexto. Quadros de CPU não precisam de um contexto GL do chamador. A config não tem um flag de contexto.
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
- Crie o mecanismo e processe no thread cujo contexto GL é o atual. As texturas de entrada e saída devem pertencer a esse contexto. Quadros de CPU não precisam de um contexto GL do chamador. A config não tem um flag de contexto.
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.
