1. A graphical user interface method, comprising: receiving optical data from one or more optical sensors disposed within a device, wherein the optical data comprises one or more of: two-dimensional image data, stereoscopic image data, structured light data, depth map data, and Lidar data; receiving non-optical data from one or more non-optical sensors; determining a position of a user of the device's head based, at least in part, on the received optical data and the received non-optical data; generating a virtual 3D depiction of at least part of a graphical user interface on a display of the device; and applying an appropriate perspective transformation to the virtual 3D depiction of the at least part of the graphical user interface on the display of the device, wherein the acts of generating and applying are based, at least in part, on the determined position of the user of the device's head, the received optical data, and the received non-optical data, and wherein the at least part of the graphical user interface is represented in a virtual 3D operating system environment.