In terms of language and environment, the glasses are 100% Android compatible. The ODG R-6 ran Android Jellybean 4.2.2. The R-7 initially ran KitKat 4.4.4 API Level 19, and was recently updated to run Android Marshmallow 6.0.1, API Level 23. Future glasses versions (R-9 & R-8) will run Nougat 7.1.2, API Level 25. See reference: Android_version_history
Any Android App that runs on a phone or a tablet should work as-is, assuming the target API level is appropriate. If you are an Android developer, and already have reviewed Google's Android Developer Site & understand how to develop Apps in general, then you can immediately be productive developing Applications on ODG Glasses.
Android Apps are written mainly in Java; although native Apps can be written in a mix of Java and C/C++ libraries. Your team should use standard Android App development tools, both SDK and NDK.
High level, the differences between the R-7 from a standard Android phones & tablet are:
- Glasses are dual landscape display, 720p / each eye, allowing the App to optionally extend the display (left/right side-by-side, 2560x720) & render in stereoscopic 3D. Note that default is 2D mode, where content is cloned in both left & right at a resolution of 1280X720;
- The displays are see-thru, so content can be rendered on top of the real world that the user sees thru the display, enabling native Augmented Reality & Assisted Reality;
- Being mobile, the glasses can be used in a wide range of light conditions; brightness is controlled automatically; content is easily visible depending on color and background;
- There is no touch screen by default, so user input options exist to replace this method. Note that an App called ReticleRemote can turn your smartphone into a remote touch screen for the glasses, so Apps looking for touch events will work.
- Because the display is so big, it is possible to have multiple Applications active simultaneously via a widget model we've developed; example - you can have a chat session running while listening to music or having a SIP call in progress, while another App occupies the main part of the display.
Once you load the Android developer SDK and configure your host to connect with the glasses over USB via adb, you will be able to install Apps on the glasses, either from the IDE automatically or from a command line using the adb install command.
- Open GL ES 1.x, 2.0, 3.0, 3.1, TS & GS
- Open CL 1.2 full profile
- Direct X 11.2
There were a small number of proprietary ODG APIs for controlling the display on the R-6, but most of these were deprecated on the R-7. What remains is the API to control the display mode (cloning or extended), described in this article: Stereoscopic-3D-Rendering-on-the-R-7
For the standard Android APIs for Jellybean for the R-6 Glasses, check this Android API reference:
and these APIs for the R-7 KitKat releases:
Note that end of Q12017, there will be a ReticleOS update to Android 6.0.1 (Marshmallow):
There are 2 options most often used to do rendering: