makeup|SDK makeup|SDK is a library based on visage|SDK face tracking used to configure and render virtual makeup.

Loading...
Searching...
No Matches
makeup|SDK API

makeup|SDK provides two APIs: Objective - C API for iOS and Java API for Android. Both APIs include following functionalities:

- Creation and destruction of virtual makeup
- Hiding and showing of virtual makeup
- Updating virtual makeup
- Retrieval of predefined virtual makeup from feature template descriptors
- Retrieval of UI view in which camera feed and visible makeup features are rendered

For makeup|SDK to be used contents of lib directory of the package must be copied to platform dependent folders used to locate binary dependencies.

The following sections provide an overview of the APIs and give links to most important classes, as well as to sample projects demonstrating particular functions.

# Java API

The API provides function for manipulation of virtual makeup. Java API is available for Android only. The API is implemented in a single library:

- MakeupSDK-release.aar - manipulation and rendering of virtual makeup based on visage|SDK face tracking and Unity3D rendering engine.

## Virtual makeup functionality

Virtual makeup engine tracks face of a single user and controls rendering of virtual makeup to achieve AR functionality of virtual makeup. Virtual makeup is composed using template files storing description of used makeup feature and, optionally, a finish for selected feature. Virtual makeup rendering is demonstrated in MakeApp sample projects.

## Skin tone estimation functionality

Provides color shade and monk scale obtained by estimating person's skin tone. Feature is demonstrated by SkinTone sample.

## Face tracking functionality

Provides facial data obtained using visage|SDK.

Main classes

- com.visagetechnologies.makeupsdk.SDKProvider: Provides all MakeupSDK modules.
- com.visagetechnologies.bsc.FrameProvider: An interface used to provide input image data for processing.
- com.visagetechnologies.makeupsdk.MakeupEngine: Provides functions for manipulation of virtual makeup features.
- com.visagetechnologies.makeupsdk.FeatureTemplate: A template storing description of a virtual makeup feature.
- com.visagetechnologies.makeupsdk.FinishTemplate: A template storing description of a virtual makeup finish.
- com.visagetechnologies.makeupsdk.FeatureTemplateRepository: Stores a list of predefined virtual makeup features.
- com.visagetechnologies.makeupsdk.FinishTemplateRepository: Stores a list of predefined virtual makeup finishes.
- com.visagetechnologies.makeupsdk.SkinToneAnalyzer/ com.visagetechnologies.makeupsdk.FaceTracker: Provides functions for starting, reseting, and stopping skin tone/ face tracking analysis.

# Migration from older versions

Visage Technologies strives to minimize changes in API and configuration files when releasing new versions of the SDK. The inevitable changes are listed here together with specific instructions for developers who have existing applications built with older versions.

Changes in this release

This section covers changes introduced in current release since makeup|SDK 4.1.

## Rendering changes

Improved eyeliner rendering to blend naturally with eyelashes; higher intensity levels may be needed to achieve fuller color opacity.

Changes in older releases makeup|SDK 4.1

## API changes

### Support for multiple license types

Parameter of SDKProvider.GetProvider method is changed to support multiple license types enabling makeup, shade finder, and/or face tracking features.

- Previously used SDKProvider.GetProvider method, which accepts "licensePath" String parameter for enabling makeup feature, is deprecated. Please use new SDKProvider.GetProvider method with "licenses" parameter of Map<LicenseTypeEnum, String> type. The "licenses" argument can contain multiple license type enum keys (MAKEUP, SKINTONE, and/or FACETRACK) and corresponding license file path values (used in similar way as the previous argument). For more details, please see GetProvider API documentation.

### Using the same activity context for all makeup|SDK features

Virtual makeup, skin tone estimate, and face tracking features use the activity context passed as argument to SDKProvider.GetProvider method. Previously, activity context passed as argument to SDKProvider.CreateMakeUpEngine method was used for virtual makeup feature.

- SDKProvider.CreateMakeUpEngine method, which accepts "context" Activity parameter, was deprecated. Please use new CreateMakeupEngine method, which does not have any parameters.
- SDKProvider.GetProvider method, which accepts license path to makeup license file, is deprecated. Please use new SDKProvider.GetProvider method with licenses and context parameters. For more details, please see GetProvider and CreateMakeupEngine API documentation.

### Usage of proper "Makeup" name

makeup|SDK 4.1 API class, interface, and methods containing occurrences of “MakeUp” are deprecated and new API class, interface, and methods containing proper name “Makeup” are introduced.

- Interface IMakeUpObserver and class MakeUpEngine are deprecated and moved to com.visagetechnologies.makeupsdk.deprecated namespace. Method SDKProvider.CreateMakeUpEngine is deprecated. Please use new interface IMakeupObserver, class MakeupEngine, and SDKProvider.CreateMakeupEngine method.
- Name of “MakeUpSDK-release.aar” file in "lib" directory of makeup|SDK package is changed to "MakeupSDK-release.aar". Please use new “MakeupSDK-release.aar” file name. For more details, please see IMakeupObserver, MakeupEngine, and SDKProvider API documentation.

### Change in namespace

FrameProvider class is moved from com.visagetechnologies.frameprovider.fpr to com.visagetechnologies.frameprovider.bsc namespace.