Table of Contents

EasyAR Sense 3.0 release notes

3.0.1

2019-07-26

EasyAR SDK 3.0.1 fixed several bugs and improved the user experience.

The detailed updates are as follows:

* Added support for YUY2 and I420 pixel formats for cameras on Windows to reduce black-screen cases

* Fixed an issue in the Objective-C sample where multiple Renderer instances did not keep independent state, causing a crash at glDrawArrays when entering for the second time

* Added support for png images with 16 bits per channel

* Fixed incorrect texture coordinates in the Unity HelloAR_Coloring3D sample on non-OpenGLES rendering APIs and during screen rotation

* Fixed an issue where Unity samples did not autofocus by default

* Fixed an issue in Unity samples where the model was still visible for an instant at runtime before disappearing

* Removed the initialization-success UI prompt from Unity samples

* Added support for a second camera in Unity samples, for example a USB camera other than the built-in camera on Windows/Mac

* Renamed ExternalCamera to CustomCamera to reduce ambiguity

3.0.0

2019-07-07

EasyAR SDK 3.0 is an upgrade from EasyAR SDK 2.x. EasyAR SDK 3.0 includes many improvements, mainly in the following areas:

  1. A more flexible data-flow-based componentized API

    In version 3.0, the EasyAR API reorganizes the original APIs into components according to the data flow, making EasyAR easier to connect with other systems and better suited to more flexible requirements.

    Based on this, external camera access and external algorithm access are implemented.

    The extended Camera interface supports receiving image frames for AR recognition and tracking. AR presentation no longer depends on a phone's built-in camera. As long as a device can detect an external camera and obtain a video stream, the video stream can be converted into image frames and passed to EasyAR SDK for AR applications, helping EasyAR developers build applications for AR/VR/MR glasses, drones, and USB devices.

    The new API lets developers connect algorithms other than EasyAR SDK's own algorithms, such as ImageTracker, providing more flexible capability extensions.

  2. Programming language and platform support

    Added C# for .Net/Mono support.

    Upgraded the C++11 interface to C++17 and uses std::optional to make the nullability of parameters and return values explicit.

    Upgraded the Kotlin and Swift interfaces to the latest versions and improved support for Optional.

    Added Android ARM64 support.

    Support for non-OpenGLES2 rendering APIs. Rendering API neutrality is implemented except for VideoPlayer and Recorder.

  3. Surface Tracking

    For application scenarios such as small AR interactive games, AR short-video shooting, and product placement and display, EasyAR SDK 3.0 adds Surface Tracking. It computes tracking by detecting feature points on any surface, without spending time searching for a plane, enabling faster surface alignment and pose tracking.

  4. Image Target Data generation

    Supports generating a data package in advance from images to be recognized in native and Unity applications. The data package is used for recognition and tracking, improving recognition image loading speed.

  5. Reduced package size

    Through structural architectural improvements and feature trimming, the SDK package size has been reduced.

    Redundant features such as QR code scanning have been removed in the current version in exchange for a smaller package size.

  6. Many improvements, bug fixes, and compatibility improvements

The detailed updates are as follows:

++ More flexible data-flow-based componentized API

++ Surface Tracking

+ Image Target Data generation

+ Programming language support: C# for .Net/Mono support

+ Programming language support: C++11 upgraded to C++17

+ Programming language support: Kotlin/Swift upgraded with Optional support

+ Unity plugin rewritten and open sourced, with underlying APIs unified with non-Unity APIs

+ Added a feature to the Unity plugin Coloring3D sample for capturing a static image and drawing a bear

+ Added UI prompts to the Unity plugin for cases such as an incorrect key

+ Android ARM64 support

+ Support for non-OpenGLES2 rendering APIs. Rendering API neutrality is implemented except for VideoPlayer and Recorder

+ External camera access

+ External algorithm access

+ Reduced package size

- QR code recognition removed

- Renderer removed, with sample rendering code provided for each platform instead

* Supports loading recognition images from memory

* CloudRecognizer supports https on Android and iOS

* Android CameraDevice adds support for Camera2

* Fixed a screen recording crash on Android 9.0

* Supports Unity 5.6, 2017.4, 2018.4, and 2019.1, and removes support for versions earlier than 5.6

* Removed support for iOS 7 and earlier

* Unity plugin uses CommandBuffer to draw the camera background

* Fixed some stability issues