SDK 2.0.0. Namespace
facebetter. Headers: facebetter/beauty_effect_engine.h, beauty_params.h, image_frame.h, type_defines.h. Enums de estilo / cor / remodelagem: Enums de parâmetros. Autenticação: Autenticação e licença.Logs
LogLevel
LogConfig
Mecanismo
EngineConfig
Prioridade de autenticação: se
license_token não estiver vazio, valide esse token localmente e pule a autenticação de rede com app_id + app_key. Caso contrário, use app_id + app_key contra /facebetter/v2/auth.
BeautyEffectEngine
Não copiável. Crie com Create; destrua liberando o shared_ptr.
SetLogConfig (static)
Create. Retorna 0 em caso de sucesso.
Create (static)
nullptr em caso de falha.
Pele
Intensidades[0.0, 1.0] salvo indicação em contrário. 0 desliga. Retorna 0 em caso de sucesso.
SetBeautySkinOnly(true) aplica suavização / clareamento / etc. apenas na pele detectada. Enums de estilo: Enums de parâmetros.
Remodelagem
intensity é [-1.0, 1.0]. 0 desliga. Positivo / negativo são direções opostas. Lista completa: Enums de parâmetros.
Remodelagem corporal
intensity é [0.0, 1.0]. 0 desliga. Exige resource_body.fbd (ao lado de resource.fbd, ou AddResourcePack). Lista: Enums de parâmetros. Pacotes: Pacotes de recursos opcionais.
Maquiagem
Cada efeito tem intensidade mais Style (máscara) e/ou Color (tintura). Batom: só Color. Pupila: só Color. Contorno: só Style.Chroma key
Máscara para fundo virtual. O preenchimento continua sendoSetVirtualBackgroundBlur / SetVirtualBackground. Sem preenchimento, a região recortada fica transparente. ClearChromaKey() restaura a segmentação de retrato.
ChromaKeyColor: Green = 0, Blue, Red.
Fundo virtual
Filtro (LUT .fbd)
O LUT GPU é criado no próximo ProcessImage. Sem API de register / ID.
Adesivo (.fbd)
resource_3d.fbd para adesivos 3D, resource_body.fbd para remodelagem corporal). Veja Pacotes de recursos opcionais.
Estatísticas, callbacks, processamento
image_frame->type como FrameType::Image ou FrameType::Video (padrão). O formato de saída acompanha a entrada quando possível. Retorna nullptr em caso de falha.
EngineStats
Callbacks e eventos
Imagem
Format
Rotation
FrameType
ImageFrame::type.
ImageFrame
Não copiável. Não thread-safe.
Factories
Create para formatos multiplano.
Operações
Rotate, Mirror e SetMirror alteram apenas quadros de pixels na CPU (RGBA, RGB, YUV e arquivos de imagem). Não transformam uma textura OpenGL nem uma textura D3D11. Entregue essas imagens já na orientação correta.
Acessores: Width(), Height(), Stride(), Size(), GetFormat(), Data(), DataY/U/V(), StrideY/U/V(), DataUV(), StrideUV(), Texture().
Campo público: FrameType type = FrameType::Video.
Códigos de erro
Retornosint típicos:
Observações
- 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.
- Lifetime: os métodos factory retornam
std::shared_ptr. - Ponteiros de pixel de
Data()sãoconst— não escreva através deles. - O SDK não tem
SetRenderView. Desenhe você mesmo a saída deProcessImage.

