메인 콘텐츠로 건너뛰기
SDK 2.0.0. 네임스페이스 facebetter. 헤더: facebetter/beauty_effect_engine.h, beauty_params.h, image_frame.h, type_defines.h. 스타일 / 색상 / 리셰이프 열거형: 파라미터 열거형. 인증: 인증 및 라이선스. Linux는 동일한 C++ API를 사용합니다.

로깅

LogLevel

LogConfig


엔진

EngineConfig

인증 우선순위: license_token이 비어 있지 않으면 해당 토큰을 로컬에서 검증하고 app_id + app_key 네트워크 인증을 건너뜁니다. 그렇지 않으면 app_id + app_key로 /facebetter/v2/auth를 사용합니다.

BeautyEffectEngine

복사 불가. Create로 만들고 shared_ptr를 해제해 파괴합니다.

SetLogConfig (정적)

Create 전에 호출하세요. 성공 시 0을 반환합니다.

Create (정적)

실패 시 nullptr을 반환합니다.

피부

강도는 별도 표기가 없으면 [0.0, 1.0]입니다. 0은 꺼짐입니다. 성공 시 0을 반환합니다.
SetBeautySkinOnly(true)는 스무딩 / 미백 등을 감지된 피부에만 적용합니다. 스타일 열거형: 파라미터 열거형.

리셰이프

intensity는 **[-1.0, 1.0]**입니다. 0은 꺼짐입니다. 양수 / 음수는 반대 방향입니다. 전체 목록: 파라미터 열거형.

바디 리셰이프

intensity는 [0.0, 1.0]. 0은 꺼짐. resource_body.fbd가 필요합니다(resource.fbd와 같은 디렉터리, 또는 AddResourcePack). 파라미터 열거형, 선택 리소스 팩.

메이크업

각 효과는 강도와 Style(마스크) 및/또는 Color(틴트)를 가집니다. 립스틱: Color만. 렌즈: Color만. 컨투어: Style만.
값: 파라미터 열거형.

크로마키

가상 배경용 마스크입니다. 채우기는 여전히 SetVirtualBackgroundBlur / SetVirtualBackground입니다. 채우기가 없으면 키된 영역은 투명합니다. ClearChromaKey()는 인물 세그멘테이션을 복원합니다.
ChromaKeyColor: Green = 0, Blue, Red.

가상 배경

PNG / JPEG. 경로는 비어 있으면 안 됩니다. 바이트 오버로드는 인코딩된 이미지 데이터입니다.

필터 (LUT .fbd)

GPU LUT는 다음 ProcessImage에서 생성됩니다. 등록 / ID API는 없습니다.

스티커 (.fbd)

3D 스티커 또는 바디 리셰이프 전에 해당 선택 팩을 먼저 로드하세요. 선택 리소스 팩을 참고하세요.

통계, 콜백, 처리

image_frame->type을 FrameType::Image 또는 FrameType::Video(기본값)로 설정하세요. 출력 형식은 가능하면 입력을 따릅니다. 실패 시 nullptr을 반환합니다.

EngineStats

콜백과 이벤트


이미지

Format

Rotation

FrameType

ImageFrame::type에 설정합니다.

ImageFrame

복사 불가. 스레드 안전하지 않음. 팩토리
다중 평면 형식에는 Create보다 전용 YUV 팩토리를 권장합니다. 연산
Rotate, Mirror, SetMirror는 CPU 픽셀 프레임만 바꿉니다(RGBA, RGB, YUV, 이미지 파일). OpenGL 텍스처와 D3D11 텍스처는 변환하지 않습니다. 이런 입력은 먼저 똑바로 만든 뒤 프레임을 만드세요. 접근자: Width(), Height(), Stride(), Size(), GetFormat(), Data(), DataY/U/V(), StrideY/U/V(), DataUV(), StrideUV(), Texture(). 공개 필드: FrameType type = FrameType::Video.

오류 코드

일반적인 int 반환값:

참고

  • GL 컨텍스트가 현재인 스레드에서 엔진을 만들고 처리하세요. 입력과 출력 텍스처는 그 컨텍스트에 속해야 합니다. CPU 프레임에는 호출 측 GL 컨텍스트가 필요 없습니다. 설정에 컨텍스트 플래그는 없습니다.
  • 수명: 팩토리 메서드는 std::shared_ptr를 반환합니다.
  • Data()의 픽셀 포인터는 const입니다. 통해 쓰지 마세요.
  • SDK에는 SetRenderView가 없습니다. ProcessImage 출력은 앱에서 직접 그리세요.