Git Product home page Git Product logo

roomalivetoolkit's Introduction

RoomAlive Toolkit README

The RoomAlive Toolkit enables creation of dynamic projection mapping experiences. This toolkit has been in internal use at Microsoft Research for several years and has been used in a variety of interactive projection mapping projects such as RoomAlive, IllumiRoom, ManoAMano, Beamatron and Room2Room.

The toolkit consists of two separate projects:

  • ProCamCalibration - This C# project can be used to calibrate multiple projectors and Kinect cameras in a room to enable immersive, dynamic projection mapping experiences. The codebase also includes a simple projection mapping sample using Direct3D.
  • RoomAlive Toolkit for Unity - RoomAlive Toolkit for Unity contains is a set of Unity scripts and tools that enable immersive, dynamic projection mapping experiences, based on the projection-camera calibration from ProCamCalibration. This project also includes a tool to stream and render Kinect depth data to Unity.

Here is an example scene from our RoomAlive project to illustrate what is possible (this one uses 6 projectors and 6 Kinect cameras):

RoomAlive Scene

Development Status

This project is under development. The current release is in beta and all APIs are subject to change. The next major features might include compute shaders for handling all depth meshes as a single unified vertex buffer, radiometric compensation across dynamic scnenes, support for Unity and Unreal Engines. We welcome contributions!

Citations

The RoomAlive Project was started in the summer of 2013 with a group of superstar interns. If you are looking for a reference to that original work, please cite:

@inproceedings{Jones:2014:RME:2642918.2647383,
 author = {Jones, Brett and Sodhi, Rajinder and Murdock, Michael and Mehra, Ravish and Benko, Hrvoje and Wilson, Andrew and Ofek, Eyal and MacIntyre, Blair and Raghuvanshi, Nikunj and Shapira, Lior},
 title = {RoomAlive: Magical Experiences Enabled by Scalable, Adaptive Projector-camera Units},
 booktitle = {Proceedings of the 27th Annual ACM Symposium on User Interface Software and Technology},
 series = {UIST '14},
 year = {2014},
 isbn = {978-1-4503-3069-5},
 location = {Honolulu, Hawaii, USA},
 pages = {637--644},
 numpages = {8},
 url = {http://doi.acm.org/10.1145/2642918.2647383},
 doi = {10.1145/2642918.2647383},
 acmid = {2647383},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {projection mapping, projector-camera system, spatial augmented reality},
} 

Contribute

We welcome contributions to help advance projection mapping research frontier!

  • File an issue first so we are aware about change you want to make and possibly guide you. Please include these log files when you report an issue.
  • Use usual steps to make changes just like other GitHub projects.
  • Clean compile your changes on Windows and test basic operations.
  • When your pull request is created, you might get prompted to one-time sign Contributor License Agreement (CLA) unless changes are minor. It's very simple and takes less than a minute.
  • If your pull request gets a conflict, please resolve it.
  • Watch for any comments on your pull request.
  • Please try and limit your changes to small number of files. We need to review every line of your change and we can't reasonably do that if you make requests with huge number of changes.
  • Do not make just cosmetic changes. We will generally reject pull requests with only cosmetic changes.

License

This project is licensed under MIT license.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.