Patent ID: 8675013

Claim:
A computer-implemented method for rendering a two-dimensional primitive shape to overlay a substantially spherical three-dimensional model, the two-dimensional primitive shape specified by a plurality of spherical coordinates in a spherical coordinate system, comprising: (a) receiving a desired view frustum in a geographical information system; (b) determining a bounding box comprising an area on a surface of a sphere occupied by the two-dimensional primitive shape, according to a perspective of the desired view frustum that defines a viewing perspective at which the substantially spherical three-dimensional model is displayed to a user, and wherein the bounding box further includes terrain of the substantially spherical three-dimensional model; (c) computing a spherical coordinate to Cartesian coordinate matrix which expresses the bounding box according to the perspective of the desired view frustum, wherein the two-dimensional primitive shape is visible in the bounding box, and wherein the spherical coordinate to Cartesian coordinate matrix determines a virtual plane tangent to the sphere at a point on the sphere corresponding to the center of the bounding box determined in (b), the spherical coordinate to Cartesian coordinate matrix enabling the plurality of spherical coordinates to be sent to a graphics processing unit; (d) for each spherical coordinate in the plurality of spherical coordinates, computing, on the graphics processing unit using the computed matrix, a corresponding Cartesian coordinate specifying a position on the virtual plane using the spherical coordinate to Cartesian coordinate matrix; (e) rendering the plurality of Cartesian coordinates determined in (d) for the two-dimensional primitive shape into a texture image according to the perspective of the desired view frustum, wherein the texture image includes more detail of the primitive shape for portions of the primitive shape closer to the viewing perspective than for portions of the primitive shape more distant from the viewing perspective; and (f) overlaying the texture image onto the substantially spherical three-dimensional model for display with the three-dimensional model rendered according to the viewing perspective.