A non-transitory, computer readable storage medium containing a computer program comprising computer executable instructions that when executed by a computer system, cause the computer system to perform a method of rendering two-dimensional, 2D, content in a three-dimensional, 3D, virtual reality environment, comprising the steps of:
- receiving the 2D content, the 2D content being in a 2D format;
- generating the 3D virtual reality environment, wherein the 3D virtual reality environment comprises a virtual surface upon which the 2D content is to be rendered;
- recognising one or more regions of interest in the 2D content;
- generating, in dependence upon a location of the virtual surface within the generated 3D virtual reality environment and in dependence upon at least one recognised region of interest in the 2D content, a mask of the generated 3D virtual reality environment, wherein the mask indicates at least one region within the 3D virtual reality environment in which the at least one recognised region of interest is to be rendered;
- and
- rendering the 3D virtual reality environment for display at a head mounted display, HMD, wherein the rendering step comprises rendering the 2D content on the virtual surface, and upscaling the at least one region within the 3D virtual reality environment indicated in the mask.