Abstract: High speed, perspective correct texture mapping is performed by identifying lines of constant depth in a polygon and repeatedly subdividing the polygon along lines of constant depth to produce subpolygons having a maximum mapping error which is less than a predetermined maximum mapping error, preferably less than one pixel. Subdivision may be performed using a "Check/Subdivide/Check" embodiment or a "Predictive Subdivision" embodiment. In Check/Subdivide/Check, a greatest mapping error for a polygon is determined, and if the mapping error is greater than a predetermined mapping error, the polygon is further subdivided. In Predictive Subdivision, a polygon is subdivided into subpolygons which are sufficiently small to ensure that maximum texture mapping error is less than a predetermined mapping error, so that repeated checking and subdividing is not necessary.
Abstract: A three-dimensional texture is mapped onto a graphically-displayed surface by interpolating locations for elements of the texture using an associated distance relationship which locates the element with respect to the surface and a reference location spaced a distance apart from the surface. A first array of points representing the surface are stored, each of the points having an element of the three-dimensional texture and a distance to the element associated therewith. Upon a command to move the displayed surface, a new location for each point of the first array is computed, to obtain a second array representing the moved surface. A location for each element of the three-dimensional texture associated with each point of the first array is interpolated from the corresponding point in the second array and a reference location spaced apart from the moved surface.
Abstract: A three-dimensional space may be rendered in a computer graphics system by representing the three-dimensional space as a plurality of convex polyhedra and representing the containment relationships among the plurality of convex polyhedra. Connection relationships among the convex polyhedra, including the location of holes in the connected surfaces, are also preferably represented. Containment and connection relationships are preferably represented using a containment logical tree and a connection logical graph. Three-dimensional graphics representations can thereby be rendered in a real time using a low cost, graphics processor. Efficient movement through three-dimensional space along all six degrees of freedom is also provided by using a two-dimensional pointing device, preferably a mouse, in combination with a function selector, preferably a pair of keys on the mouse.