Users typically interact with applications running on computing devices (e.g., desktop and laptop computers, mobile phones, tablets, and the like) using input devices such as keyboards, mice, and touch-screens, and output is usually provided to users through display devices such as monitors. Due to the inherent limitations in these forms of input and output, emerging technologies such as virtual reality (VR) and augmented reality (AR) involve the expansion of input and output methods.
Virtual reality (VR) technologies generally involve the computer-implemented simulation of up to a 360-degree experience which a user views using, for example, a wearable display (e.g., VR goggles). Augmented reality (AR) technologies generally involve the real-time addition of simulated content into a real-life scene being captured by a user device (e.g., a camera), which the user views through a display device, such that the simulated content appears through the display device to be present in the real-life scene. In both VR and AR technologies, users may provide input through traditional input methods (e.g., keyboards, mice, touchscreens, audio, and the like) as well as through movements and gestures (e.g., captured by motion sensors, cameras, and the like).
While the potential uses for VR and AR technologies are many and varied, there is currently only a limited number of computing applications which support these technologies. Due to the resource limitations of individual VR and AR devices (e.g., VR/AR wearable displays or mobile phones used to view VR and AR experiences may have limited computing resources), many types of applications may be too resource-intensive to efficiently support VR and AR functionality for such devices. Without access to VR and AR functionality, users of many computing applications may choose to purchase larger computer monitors and/or multiple computer monitors in order to expand the display area. Because of the limitations and costs associated with computer monitors and other traditional input and output devices, there exists a need for alternative methods of expanding the input and output capabilities of computing applications which, for various reasons, do not offer native support for VR and AR technologies.