1. A method in a computing device for rendering a three-dimensional (3D) image, the method comprising: receiving mesh data stored as a plurality of nodes of a spatial tree data structure, wherein different levels of the spatial data structure correspond to different levels of detail (LODs); receiving a selection of a preferred LOD; generating a render list sorted according to proximity to a notional camera based on the mesh data in accordance with the preferred LOD including: (i) not selecting a node outside a view frustum of the notional camera, (ii) selecting a node within a view frustum when a size of a texel associated with the node is smaller than a predetermined threshold value, (iii) selecting children of a node that is within a view frustum when a size of a texel associated with the node is larger than the predetermined threshold value, and (iv) in response to determining that a selected node is not available at the computing device, selecting a parent of the node and unselecting siblings of the node, wherein each element of the render list specifies geometry and texture of a portion of the 3D image, and wherein at least two elements of the render list correspond to the different LODs; in a first instance, traversing the render list to render each element in the render list to a respective texture, including applying a depth management technique to account for occlusion; and in a second instance, traversing the render list in a back-to-front order to render each of the textures to a display buffer to generate the 3D image, including applying an image space manipulation technique to at least some of the textures.