A method for rendering graphics corresponding to a three-dimensional virtual environment, comprising: generating a virtual environment with a first processor in a server computing device, the virtual environment including a first graphical object, a second graphical object, and a direct illumination source, a memory in the server computing system storing data corresponding to the virtual environment including the first graphical object, the second graphical object, and the direct illumination source; generating with the first processor in the server computing system virtual point lights (332, 336) at a location in the virtual environment corresponding to an intersection of a ray from the direct illumination source and the surface of first graphical object in the virtual environment data and to an intersection of a ray and a surface of said second graphical object; sending data corresponding to a subset of the VPLs to a client computing device through a data network; generating with a second processor in the client computing device illumination data for a surface of the second object in the virtual environment using both illumination data identified with reference to the direct illumination source and the VPL received from the server computing system; storing data corresponding to the virtual environment including the direct illumination source, the first graphical object and the second graphical object in a memory in the client computing device; and generating with the second processor in the client computing system a graphical depiction of the virtual environment by generating a rasterized image of the three-dimensional virtual environment from a predetermined view point in the three-dimensional virtual environment by a graphics processing unit in the client computing system, and directing, by a processor the rasterized image data to a display to provide a graphical output of the virtual environment and objects in the virtual environment. generating a virtual environment with a first processor in a server computing device, the virtual environment including a first graphical object, a second graphical object, and a direct illumination source, a memory in the server computing system storing data corresponding to the virtual environment including the first graphical object, the second graphical object, and the direct illumination source; generating with the first processor in the server computing system virtual point lights (332, 336) at a location in the virtual environment corresponding to an intersection of a ray from the direct illumination source and the surface of first graphical object in the virtual environment data and to an intersection of a ray and a surface of said second graphical object; sending data corresponding to a subset of the VPLs to a client computing device through a data network; generating with a second processor in the client computing device illumination data for a surface of the second object in the virtual environment using both illumination data identified with reference to the direct illumination source and the VPL received from the server computing system; storing data corresponding to the virtual environment including the direct illumination source, the first graphical object and the second graphical object in a memory in the client computing device; and generating with the second processor in the client computing system a graphical depiction of the virtual environment by generating a rasterized image of the three-dimensional virtual environment from a predetermined view point in the three-dimensional virtual environment by a graphics processing unit in the client computing system, and directing, by a processor the rasterized image data to a display to provide a graphical output of the virtual environment and objects in the virtual environment.