A computer program product for integrating an application within a virtual reality presentation, the computer program product comprising:
- a non-transitory computer readable memory device having computer readable program code embodied therewith, the computer readable program code configured to:
- invoke the virtual reality presentation in a virtual reality presentation device, wherein the virtual reality presentation is an instance of a virtual reality application executing in the virtual reality presentation device;
- invoke a non-virtual reality application within a non-virtual reality application environment, comprising any application that is not presently executing within the virtual reality presentation device;
- and
- integrate the non-virtual reality application within the virtual reality presentation by rendering an instance of the application as a virtual window layered on the virtual reality presentation, comprising:
- rendering an instance of the non-virtual reality application as a virtual window layered on the virtual reality presentation comprising:
- a) rendering a list of applications within the virtual reality presentation device;
- b) receiving from a user, selection of at least one selected application from the rendered list of applications;
- c) integrating the at least one selected application within the virtual reality presentation by rendering a respective instance of the at least one selected application as a respective virtual window layered on the virtual reality presentation comprising:
- 1) iteratively rendering the at least one selected application in the non-virtual reality application environment without any other application obscuring presentation of the selected application,
- 2) capturing a screenshot of the non-virtual reality application environment;
- 3) optimizing a spacing between a number of respective virtual windows created for each selected application to fit into a single image capture shown in a virtual reality application environment, comprising pre-arranging and rendering one or more selected application windows in a non-virtual reality environment prior to capturing a screenshot of the non-virtual reality application environment such that none of the non-selected application windows obscures the respective presentations of the one or more selected application windows, thereby increasing the frequency and smoothness with which new screenshots are integrated as virtual windows within the virtual reality application environment;
- 4) cropping the screenshot to frame only the presentation of the selected application within the non-virtual reality application environment, and
- 5) iteratively rendering the cropped presentation of the selected application within the virtual reality presentation as a virtual window;
- 6) providing the user with real time interaction with said selected application within the virtual reality presentation, comprising:
- i) detecting a user cursor on the virtual window,
- ii) changing a status of the virtual window from input transparent mode to priority input mode, and
- iii) prioritizing the iterative rendering of the selected at least one application over any other selected applications by increasing the refresh rate of the selected application within the virtual reality presentation device.