Saltar al contenido principal
SDK 2.0.0. La API C++ se comparte con Windows. Enumeraciones: Enumeraciones de parámetros.

Apunta resource_path a resource.fbd

Pasa el archivo, no un directorio:
Resuelve una ruta absoluta al arrancar para que los cambios de cwd no rompan fopen.

Un motor, ProcessImage serial

Create devuelve un motor para la sesión, no un singleton de proceso. ImageFrame y el motor no son thread-safe. Serializa ProcessImage y los setters que mutan en un solo hilo.
  • Crea el motor y procesa en el hilo cuyo contexto GL es el actual. Las texturas de entrada y salida deben pertenecer a ese contexto. Los fotogramas de CPU no necesitan un contexto GL del llamador. La config no tiene un flag de contexto.

FrameType en el fotograma

Fotos grandes (vista previa y exportación)

No envíes píxeles a resolución completa a ProcessImage en cada movimiento del deslizador, ni tires el original después de escalar. Al abrir la foto, conserva el búfer completo y crea un fotograma de vista previa (lado largo unos 1280–1440). Los ajustes procesan la vista previa (FrameType::Image). La exportación procesa un fotograma a resolución completa con los mismos setters. El tamaño de salida coincide con la entrada. La cámara sigue en resolución de captura + FrameType::Video.

Intensidades y solo piel

Tiempo real: empieza alrededor de 0.15–0.3. El remodelado es [-1.0, 1.0]. Usa SetBeautySkinOnly(true) para que el suavizado se quede en la piel.

Filtros y stickers

Ruta o bytes .fbd. Entra en vigor en el siguiente ProcessImage. No cambies assets en cada fotograma.

GetStats

Biblioteca compartida

  • Desarrollo: LD_LIBRARY_PATH
  • Distribución: RPATH / RUNPATH, o instalar en /usr/local/lib + ldconfig
  • Mantén libfacebetter.so y los headers de la misma build del SDK (./scripts/build_linux.sh o el zip de descarga)

OpenGL

  • Crea el motor y procesa en el hilo cuyo contexto GL es el actual. Las texturas de entrada y salida deben pertenecer a ese contexto. Los fotogramas de CPU no necesitan un contexto GL del llamador. La config no tiene un flag de contexto.

Pausar cuando está inactivo

Omite ProcessImage cuando la ventana no está mapeada. engine.reset() cuando termine la sesión.

Autenticación

license_token para hosts sin conexión; si no, app_id + app_key v2 en línea. Carga secretos desde env/config, no desde el código fuente. Consulta Autenticación y licencia.