1. A method of caching at least one surface attribute value of a function at a plurality of surface points, the method comprising: dividing a first surface into a first plurality of surface regions, wherein the first plurality of surface regions includes at least a first surface region having a first local surface coordinate system and a second surface region having a second local surface coordinate system; evaluating at least one surface attribute function at a first resolution level to determine at least the one surface attribute value for at least a portion of the first plurality of surface regions including the first and second surface regions; storing the surface attribute value for the first surface region in a first portion of a multiresolution cache according to the first local surface coordinate system; and storing the surface attribute value for the second surface region in a second portion of the multiresolution cache according to the second local surface coordinate system; wherein the first and second surface regions have different local surface coordinate systems; wherein evaluating the surface attribute function to determine the surface attribute value for the first surface region comprises: applying a two-dimensional filtering function having a filter area to the first surface region, wherein the filter area includes a first portion covering at least part of the first surface region and a second portion covering at least part of a contiguous surface region different from the first surface region; wherein the filtering function is adapted to combine surface attribute values from the first surface region using the first local surface coordinate system and from the contiguous surface region using a different local surface coordinate system that is different from the first local surface coordinate system.