AR.js - Efficient Augmented Reality for the Web - 60fps on mobile!

  •        115

You are done! It will open a webpage which read the phone webcam, localize a hiro marker and add 3d on top of it, as you can see below. Only thanks to all of them, i could do my part : Optimizing performance from 5fps on high-end phone, to 60fps on 2years old phone.



Related Projects


  •    Javascript

A helper three.js library for building AR web experiences that run in WebARonARKit and WebARonARCore. See API documentation for details.

Simula - 3D Window Manager for Linux

  •    Haskell

Simula is a 3D window manager for Linux. Mission: Facilitate a Linux future for VR & AR Desktop. In the short-run, this means allowing people to run 2D Linux apps with current generation headsets. In the long-run, this means allowing people to run Linux in standalone AR & VR HMDs. Currently, Simula is aiming to be compatible with the HTC Vive.

vr.js - NPAPI plugin to expose fun VR devices to Javascript.

  •    Javascript

An experimental NPAPI plugin for Chrome and Firefox that exposes fun VR devices. vr.js, in conjunction with a required native browser plugin, exposes the Oculus Rift and Razer Hydra to Javascript in a performant, easy-to-use way. The library makes it simple to query the device values in just a few lines of code but also handles more advanced things like computing all the math required for rendering lens distorted scenes. If you want, it even has a slick API for easily rendering the distored scene that should be easy to drop into any WebGL application. There's also an example three.js wrapper under examples/js/effects/ that works pretty well.

ar-drawing-java - A simple AR drawing experiment build in Java using ARCore.

  •    Java

AR Drawing is an AR Experiment written in Java using ARCore that lets you draw simple white lines in 3d space by pressing your screen and moving the phone around the space. The code is based on the ARCore example, the only large change is the LineRenderer.

kframe - :package: Kevin's collection of A-Frame components and scenes.

  •    Javascript

Kevin's collection of A-Frame components and scenes. A page should open in your browser. You can develop on the source code and the server will handle live compilation and bundling.

HeavenMemoirs - AR相册 Photo Album For AR

  •    Objective-C

AR初始化 在新建项目时可以直接创建 AR 项目, xcode 会创造一个 AR 项目的模板. 也可以创建普通的项目,在需要实现 AR 功能的控制器中实现如下代码进行初始化.

aframe-extras - Add-ons and helpers for A-Frame VR.

  •    Javascript

Add-ons and helpers for A-Frame VR. For partial builds, use a subpackage like aframe-extras.controls.min.js. Full list of packages above.

ml-agents - Unity Machine Learning Agents

  •    CSharp

Unity Machine Learning Agents (ML-Agents) is an open-source Unity plugin that enables games and simulations to serve as environments for training intelligent agents. Agents can be trained using reinforcement learning, imitation learning, neuroevolution, or other machine learning methods through a simple-to-use Python API. We also provide implementations (based on TensorFlow) of state-of-the-art algorithms to enable game developers and hobbyists to easily train intelligent agents for 2D, 3D and VR/AR games. These trained agents can be used for multiple purposes, including controlling NPC behavior (in a variety of settings such as multi-agent and adversarial), automated testing of game builds and evaluating different game design decisions pre-release. ML-Agents is mutually beneficial for both game developers and AI researchers as it provides a central platform where advances in AI can be evaluated on Unity’s rich environments and then made accessible to the wider research and game developer communities. For more information, in addition to installation and usage instructions, see our documentation home. If you have used a version of ML-Agents prior to v0.3, we strongly recommend our guide on migrating to v0.3.

node-ar-drone - A node.js client for controlling Parrot AR Drone 2.0 quad-copters.

  •    Javascript

A node.js client for controlling Parrot AR Drone 2.0 quad-copters.

COM Objects for the AR System


Coarse (COM Objects for the AR System), provides an automation compatible COM API to the AR System (Remedy only provides a C API and a Java API). It is compatible with VB6, VBA, VBScript, and JScript. Based on the RTL Sourceforge project.

CoreAR - AR(Augmented reality) framework for iOS, based on a visual code like ARToolKit

  •    C

CoreAR.framework is open source AR framework. You can make an AR application using visual code like ARToolKit using this framework. CoreAR.framework does not depend on the other computer vision library like OpenCV. Considered portability, this framework is written only C or C++. The pixel array of an image is passed to CoreAR.framework and then visual code's identification number, rotation and translation matrix are obtained from the image including a visual code. Image processing speed of this framework is about 15 fps on iPhone4. Take notice that CoreAR.framework depends on Quartz Help Library and Real time image processing framework for iOS. You have to download these libraries and put on them at the path where CoreAR.framework has been installed.

Google PyARS

  •    Python

Google PyARS is a convenient way to talk to a Remedy server from Python. It uses SWIG to extend AR System API calls to accept Python data structures along with native AR API structures. It also provides several handy functions not offered by AR API.

draco - Draco is a library for compressing and decompressing 3D geometric meshes and point clouds

  •    C++

Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.Draco was designed and built for compression efficiency and speed. The code supports compressing points, connectivity information, texture coordinates, color information, normals, and any other generic attributes associated with geometry. With Draco, applications using 3D graphics can be significantly smaller without compromising visual fidelity. For users, this means apps can now be downloaded faster, 3D graphics in the browser can load quicker, and VR and AR scenes can now be transmitted with a fraction of the bandwidth and rendered quickly.


  •    Lua

TacitPixel is a scalable C++ framework for building application prototypes for interactive collaborative VR/AR applications. It provides a number of features that make prototyping fast and portable. TacitPixel is the successor of the TAP and Twisted Pair engines.

lullaby - A collection of C++ libraries designed to help teams develop virtual and augmented reality experiences

  •    C++

Lullaby is a collection of C++ libraries designed to help teams develop virtual and augmented reality experiences.Documentation is available here.

webvr-boilerplate - A starting point for web-based VR experiences that work on all VR headsets.

  •    Javascript

A THREE.js-based starting point for cross-platform web-based VR experiences. This project relies heavily on the WebVR Polyfill to provide VR support if the WebVR API is not implemented. It also uses the WebVR UI project to render the UI to enter VR and magic window modes. See here for a live demo.

jsartoolkit5 - Javascript ARToolKit v5.x

  •    Javascript

Emscripten port of ARToolKit to JavaScript. During development, you can run npm run watch, it will rebuild the library everytime you change ./js/ directory.

Ayaspell project


Ayaspell project aims to provide arabic dictionaries for free office applications like, Firefox: spellchecking (hunspell-ar), thesaurus (thesaurus-ar) and Morphological lexicon (Grammar-ar).