Encoding and Compressing Three-Dimensional (3D) Object Data Models
Abstract
Methods and systems for encoding and compressing 3D object data models are provided. An example method may involve receiving 3D mesh data for an object that includes geometry coordinates for a surface of the object. Additionally, material properties may be associated with the geometry coordinates. The method may also include identifying multiple portions of the mesh data based on the material properties associated with the geometry coordinates. For example, a given group of adjacent geometry coordinates having common material properties may be identified as a given portion. For at least some of the identified portions of the mesh data, the method may further include encoding information related to an identified portion of the mesh data and compressing the encoded information into a file of compressed geometric data.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method, comprising:
receiving, by one or more computing devices, three-dimensional mesh data representing an object, wherein the three-dimensional mesh data comprises geometry coordinates for the object and material properties associated with the geometry coordinates; identifying, by the one or more computing devices and based on the material properties associated with the geometry coordinates, at least one portion of the mesh data representing at least one portion of the object, wherein the at least one portion of the mesh data comprises a group of geometry coordinates having common material properties; encoding, by the one or more computing devices, information related to the at least one portion of the mesh data, wherein the encoded information includes one or more references to at least one library for rendering the at least one portion of the mesh data; and providing, by the one or more computing devices, a data file for the object, wherein the data file for the object comprises at least one pointer to the encoded information related to the at least one portion of the mesh data.
2 . The method of claim 1 , wherein the data file further comprises an identification of the at least one library for rendering the at least one portion of the mesh data.
3 . The method of claim 1 , further comprising compressing the encoded information related to the at least one portion of the mesh data into at least one file of compressed geometric data, wherein at least one pointer to the encoded information related to the at least one portion of the mesh data comprises at least one pointer to the at least one file of compressed geometric data.
4 . The method of claim 1 , wherein the material properties associated with the geometry coordinates comprise identifications of material types, and wherein the group of geometry coordinates have a common material type.
5 . The method of claim 1 , wherein the encoded information related to the at least one portion of the mesh data further includes one or more appearance attributes, and wherein the at least one library is configured to render the at least one portion based on the one or more appearance attributes.
6 . The method of claim 5 , wherein the at least one library comprises a shader configured to determine rendering effects based on the encoded one or more appearance attributes.
7 . The method of claim 1 , wherein the data file is provided to a client device that is configured to render a representation of the object.
8 . The method of claim 1 , wherein the three-dimensional mesh data is received from a three-dimensional scanning system.
9 . The method of claim 1 , wherein the material properties associated with the geometry coordinates comprise material shaders, and wherein the group of geometry coordinates have a common material shader.
10 . The method of claim 1 , wherein the material properties associated with the geometry coordinates comprise texture maps, and wherein the group of geometry coordinates have a common texture map.
11 . The method of claim 1 , wherein the object comprises a three-dimensional object having at least a first portion and a second portion, wherein the first portion is configured to be rendered using a first shader, and wherein the second portion is configured to be rendered using a second shader that is distinct from the first shader.
12 . The method of claim 1 , wherein encoding information related to the at least one portion of the mesh data comprises encoding the information related to the at least one portion of the mesh data into indexed polygonal data representing the at least one portion as a list comprising a plurality of vertices and a plurality of indices.
13 . A non-transitory computer-readable medium having stored therein instructions, that when executed by one or more computing devices, cause the one or more computing devices to perform functions comprising:
receiving three-dimensional mesh data representing an object, wherein the three-dimensional mesh data comprises geometry coordinates for the object and material properties associated with the geometry coordinates; identifying, based on the material properties associated with the geometry coordinates, at least one portion of the mesh data representing at least one portion of the object, wherein the at least one portion of the mesh data comprises a group of geometry coordinates having common material properties; encoding information related to the at least one portion of the mesh data, wherein the encoded information includes one or more references to at least one library for rendering the at least one portion of the mesh data; and providing a data file for the object, wherein the data file for the object comprises at least one pointer to the encoded information related to the at least one portion of the mesh data.
14 . The non-transitory computer-readable medium of claim 13 , wherein the functions further comprise compressing the encoded information related to the at least one portion of the mesh data into at least one file of compressed geometric data, wherein at least one pointer to the encoded information related to the at least one portion of the mesh data comprises at least one pointer to the at least one file of compressed geometric data.
15 . The non-transitory computer-readable medium of claim 13 , wherein the encoded information related to the at least one portion of the mesh data further includes one or more appearance attributes, and wherein the at least one library is configured to render the at least one portion based on the one or more appearance attributes.
16 . The non-transitory computer-readable medium of claim 15 , wherein the at least one library comprises a shader configured to determine rendering effects based on the encoded one or more appearance attributes.
17 . A system, comprising:
at least one processor; one or more memories coupled to the at least one processor; and instructions stored in the one or more memories and executable by the at least one processor to perform functions comprising:
receiving three-dimensional mesh data representing an object, wherein the three-dimensional mesh data comprises geometry coordinates for the object and material properties associated with the geometry coordinates;
identifying, based on the material properties associated with the geometry coordinates, at least one portion of the mesh data representing at least one portion of the object, wherein the at least one portion of the mesh data comprises a group of geometry coordinates having common material properties; and
encoding information related to the at least one portion of the mesh data, wherein the encoded information includes one or more references to at least one library for rendering the at least one portion of the mesh data.
18 . The system of claim 17 , wherein the functions further comprise compressing the encoded information related to the at least one portion of the mesh data into at least one file of compressed geometric data, wherein at least one pointer to the encoded information related to the at least one portion of the mesh data comprises at least one pointer to the at least one file of compressed geometric data.
19 . The system of claim 17 , wherein the encoded information related to the at least one portion of the mesh data further includes one or more appearance attributes, and wherein the at least one library is configured to render the at least one portion based on the one or more appearance attributes.
20 . The system of claim 19 , wherein the at least one library comprises a shader configured to determine rendering effects based on the encoded one or more appearance attributes.Join the waitlist — get patent alerts
Track US2014340398A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.