Incremental resolution changes in multi-resolution meshes with update records
AssigneeIntel Corporation
InventorsStephen Junkins, Mike B. MacPherson
Life of this patent
Estimating the term…
Loading patent…
AssigneeIntel Corporation
InventorsStephen Junkins, Mike B. MacPherson
Estimating the term…
A method of producing a multi-resolution mesh is provided. A vertex array and a face array are constructed, wherein the vertex records and face records are ordered in the respective arrays by resolution. These arrays therefore comprise ordered vertices and faces to be added or removed for each incremental change in resolution. A vertex update record associated with each vertex contains face update records which specify what existing faces must be updated when adding or removing the vertex, and contains a new faces record indicating the number of faces from the face array to be added to or deleted from the mesh when adding or removing the vertex.
A method of incrementally increasing resolution of a multi-resolution mesh with a plurality of vertices and faces, comprising:
A method of incrementally decreasing resolution of a multi-resolution mesh with a plurality of vertices and faces, comprising:
A machine-readable medium with instructions stored thereon, the instructions when executed operable to cause a computerized system to incrementally increase resolution of a multi-resolution mesh with a plurality of vertices and faces by a method comprising:
A machine-readable medium with instructions stored thereon, the instructions when executed operable to cause a computerized system to incrementally decrease resolution of a multi-resolution mesh with a plurality of vertices and faces by a method comprising:
The machine-readable medium of claim 17, wherein moving a pointer from referring to an original vertex array record to referring to a new vertex record of the ordered vertex array comprises decrementing a vertex record number referenced by the pointer to incrementally decrease the mesh resolution.
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Backward citations are indexed for grants only.
Image coding: model-based coding, e.g. wire frame
Three-dimensional [3D] modelling for computer graphics: finite element generation, e.g. wire-frame surface description, tesselation
Image data processing or generation, in general
Term end not estimated
The invention relates generally to computer graphics, and more specifically to multi-resolution three-dimensional meshes.
Rendering of three-dimensional objects on a computer screen is a process that typically involves defining the object to be rendered in detail, creation of a mesh that models the visible surfaces of the object, and rendering and shading of the mesh. Such a mesh typically comprises a number of inteconnected trinagles defined by a number of vertices in three-dimesnional space. Very detailed geometric models have become common in defining three-dimensional objects to be rendered as meshes, and require a very large number of vertices and faces in a mesh to produce a realistic rendering. Applications ranging from advanced CAD/CAM and graphics to computer games increasingly require greater levels of realism and detail in the objects rendered, and so require efficient processing and display of three dimensional meshes.
Detailed three-dimensional objects are often rendered as a mesh of polygons, such as a triangle mesh, that is produced and sent to a rendering pipeline to be rendered as a visible image on a monitor. The meshes produced as a result of 3-D modeling operations are often relatively large and processor-intensive to render, and so multiple meshes that represent the same three-dimensional object may be produced containing different levels of detail and used at various times depending on the desired object resolution. An object that appears very small when rendered to a monitor may need relatively few defining triangles to be realistically rendered by a triangle mesh, while the same object viewed more closely or rendered larger in size will require substantially more triangles to render a realistic image.
FIG. 1 shows a four-vertex mesh such as may be produced by an embodiment of the present invention.
FIG. 2 shows a five-vertex mesh such as may be produced by an embodiment of the present invention.
FIG. 3 shows a vertex update record, consistent with an embodiment of the present invention.
In the following detailed description of sample embodiments of the invention, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific sample embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical, and other changes may be made without departing from the spirit or scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the invention is defined only by the appended claims.
A method is needed for reducing the processing and storage requirements that are currently a part of producing multi-resolution meshes for efficient rendering of detailed three-dimensional objects. The present invention improves on providing multiple meshes or computationally intensive real-time derivation of a mesh of a particular resolution by providing a single mesh with vertex update records such that the mesh can be efficiently rendered at any desired resolution.
The present invention models a three-dimensional object using a multi-resolution mesh that comprises preordered vertex and face arrays, and a vertex update record associated with each vertex of the vertex array. The vertices are pre-ordered in order of increasing resolution, such that rendering at any resolution simply requires rendering only those vertices up to a known point in the vertex array. Similarly, a face array lists all faces of the mesh in order of increasing resolution, and so may be provided in order to the rendering pipeline. The face array records are then provided from the first record through whatever record is the last face record associated with the last vertex supplied to render the object at the desired resolution.