Giter VIP home page Giter VIP logo

mickaleo's Introduction

Mickaleo

This project (code name: Mickaleo, pronunciation: mick-ah-leo) is designed to add at least basic VR to any program on Linux with any VR headset including phone and tablet headset kits. Eventually it could be a cross platform program to add VR to any program with any headset.

Software Sections and Status:

  1. Streamer:
    www.splashtop.com/personal
    www.splashtop.com/wiredxdisplay
    The device currently used for testing VR streaming is a Durovis Dive 7 headset with Nexus 7 2cnd Gen tablet. Any remote desktop software is compatible but I recommend Splashtop. Also, run this over your local area network, not streaming over the internet for performance gains and avoiding excess internet data usage. Splashtop wireless is free for personal use and specifically designed for high performance video game level quality streaming. It works but should be used for personal use, if you want to use it professionally, please support them. Splashtop wired connection (XDisplay) software can mirror a display at 1080p 60fps.

  2. VR Formatter:
    /cpp_screen_streamer/
    Currently this C++ code provides realtime mirror of one Linux monitor display to another monitor in a VR format. It is in alpha stage development, it has limitations such as needing to exit it from the taskmanager, no shortcut to close at the moment. Usage: Open a window to stream or stream a full monitor display of the current OS session. Run the executable, which only works at 1080p unless a code modification is done. A window opens duplicating the display for the left and right eye with a divider between them. Currently offsets specific to the Durovis Dive are configured but those can be altered in the code, a GUI interface can be developed for that in the future. This is designed to work well with a dual monitor system where one screen can be converted into a VR display and the other a normal display. Future subgoal: have profiles able to be saved for headsets. Create an online repository where people can share profiles and descriptions of them.
    /sublime_build/ - Example sublime build settings.

  3. Mouse Interactivity:
    /desktop_client_mouse_controller/ - pc client
    /mobile_app_position_tracker/ - android server
    Currently this runs in Linux as a client that receives mouse control commands. The Android app is a server that transmits movement data to control the mouse. Future potential work: create mouse control on the client in only a window instead of a whole display if wanted. The sensitivity of the movements can be set in the client code but a GUI can be made for that later. The mouse pointer is recentered on screen to accommodate game control. In the app pressing the button for enabling sensor transmission causes activation of mouse control and the disable button stops it. The Android app was built using Android Studio.

  4. Other Work in Progress Folders:
    /screen_streamer/ - pc server
    Work toward a Java based screen streaming server for more of an all-in-one solution. Currently not working but contains development code. This was worked on to avoid having to use splashtop or something separately when running the mouse control, and being able to stream directly to a headset instead of mirroring one display on another. This project is build using Eclipse Java edition.
    /MickaleoApp2/ - android client
    Work toward a Java based screen streaming app for receiving content from the server.
    /alpha_release/ - software for development testing
    These are versions of the programs that should work, further testing is needed before declaring them ready for official alpha release. The java client runs successfully in the Eclipse IDE but when exported as a runnable jar a message about 'missing main class' occurs and it is being looked into how to resolve that. The other programs appear to run successfully.

  5. Optional future work: Create gamepad or VR accessory interactivity with the software running so that mouse and keyboard, etc. do not need to be used.

Dependencies:

For X11 development in the cpp_screen_streamer software:
xorg-dev
libx11-dev

mickaleo's People

Contributors

nmsutton avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

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.