IP Library Granted Patent US 9,041,711
Granted Patent B1
US 9,041,711 · App. 13/466,612 · Granted May 26, 2015

Generating reduced resolution textured model from higher resolution model

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,041,711
App. No.
13/466,612
Granted
May 26, 2015
Kind
B1
Abstract

An exemplary method for simplifying a texture of a three-dimensional model includes simplifying a first three-dimensional model to determine a second three-dimensional model. The first three-dimensional model has a higher resolution than the second three-dimensional model. The method also includes allocating a texture atlas for the second three-dimensional model. The method further includes filling in the texture atlas for the second three-dimensional model. Filling in the texture atlas may include determining a location on the second three-dimensional model corresponding to a pixel in the texture atlas for the second three-dimensional model, determining a location on the first three-dimensional model corresponding to the determined location on the second three-dimensional model, determining a color value texture mapped to the first three-dimensional model at the determined location on the first three-dimensional model, and setting the determined color value to the pixel in the texture atlas for the second three-dimensional model.

Claims (45)

1. A method for simplifying a texture of a three-dimensional model, comprising:

(a) simplifying, with one or more computing devices, a first three-dimensional model to determine a second three-dimensional model, the first three-dimensional model having a higher resolution than the second three-dimensional model, the first three-dimensional model having a first texture atlas associated therewith that corresponds to a mapping of color onto at least a portion of a three-dimensional surface of the first three-dimensional model;

(b) allocating, with the one or more computing devices, a second texture atlas for the second three-dimensional model; and

(c) filling in, with the one or more computing devices, the second texture atlas for the second three-dimensional model such that the second texture atlas corresponds to a mapping of color onto at least a portion of a three-dimensional surface of the second three-dimensional model, wherein the filling in the second texture atlas (c) comprises:

(d) determining, with the one or more computing devices, a location on the second three-dimensional model corresponding to a pixel in the second texture atlas for the second three-dimensional model;

(e) determining, with the one or more computing devices, a ray extending from the location on the second three-dimensional model determined in (d) to a corresponding location on the first three-dimensional model;

(f) determining, with the one or more computing devices, a color value texture ray and the first three-dimensional model;

(g) determining, with the one or more computing devices, a color value texture mapped to the first three-dimensional model at the intersection determined in (f) based on the first texture atlas; and

(h) setting, with the one or more computing devices, the color value determined in (g) to the pixel in the second texture atlas for the second three-dimensional model.

2. The method of claim 1 , wherein the location on the second three-dimensional model is a three-dimensional point on the second three-dimensional model.

3. The method of claim 1 , wherein the corresponding location on the first three-dimensional model is a three-dimensional point on the first three-dimensional model.

4. The method of claim 1 , wherein the ray is normal to the second three-dimensional model.

5. The method of claim 1 , wherein the ray is normal to the first three-dimensional model.

6. The method of claim 1 , wherein the ray extends to the first three-dimension model in a fixed direction.

7. The method of claim 1 , wherein the first texture atlas for the first three-dimensional model is different from the second texture atlas for the second three-dimensional model.

8. The method of claim 1 , wherein the simplifying (a) includes removing one or more vertices in the first three-dimensional model and joining edges connected to the one or more removed vertices to other vertices in the first three-dimensional model.

9. A system for simplifying a texture of a three-dimensional model, comprising:

a model simplifying engine configured to simplify a first three-dimensional model to determine a second three-dimensional model, the first three-dimensional model having a higher resolution than the second three-dimensional model, the first three-dimensional model having a first texture atlas associated therewith that corresponds to a mapping of color onto at least a portion of a three-dimensional surface of the first three-dimensional model; and

a texture engine configured to:

(i) allocate a second texture atlas for the second three-dimensional model; and

(ii) fill in the second texture atlas for the second three-dimensional model such that the second texture atlas corresponds to a mapping of color onto at least a potion of a three-dimensional surface of the second three-dimensional model, wherein when the texture engine fills in the second texture atlas for the second three-dimensional model, the texture engine is configured to:

determine a location on the second three-dimensional model corresponding to a pixel in the second texture atlas for the second three-dimensional model;

determine a ray extending from the determined location on the second three-dimensional model to a corresponding location on the first-three dimensional model;

determine an intersection of the ray and the first three-dimensional model

determine a color value texture mapped to the first three dimensional model at the determined intersection based on the first texture atlas; and

set the determined color value to the pixel in the second texture atlas for the second three-dimensional model.

10. The system of claim 9 , wherein the location on the second three-dimensional model is a three-dimensional point on the second three-dimensional model.

11. The system of claim 9 , wherein the ray is normal to the second three-dimensional model.

12. The system of claim 9 , wherein the ray is normal to the first three-dimensional model.

13. The system of claim 9 , wherein the ray extends to the first three-dimension model in a fixed direction.

14. The system of claim 9 , wherein the first texture atlas for the first three-dimensional model is different from the second texture atlas for the second three-dimensional model.

15. An apparatus comprising at least one non-transitory computer readable storage medium encoding instructions thereon that, in response to execution by a computing device, cause the computing device to perform operations comprising:

(a) simplifying a first three-dimensional model to determine a second three-dimensional model, the first three-dimensional model having a higher resolution than the second three-dimensional model, the first three-dimensional model having a first texture atlas associated therewith that corresponds to a mapping of color onto at least a portion of a three-dimensional surface of the first three-dimensional model;

(b) allocating a second texture atlas for the second three-dimensional model; and

(c) filling in the second texture atlas for the second three-dimensional model such that the second texture atlas corresponds to a mapping of color onto at least a portion of a three-dimensional surface of the second three-dimensional model, wherein the operations further comprise:

(d) determining a location on the second three-dimensional model corresponding to a pixel in the second texture atlas for the second three-dimensional model;

(e) determining a ray extending from location on the second three-dimensional model determined in (d) to a corresponding location on the first three-dimensional models,

(f) determining, with the one or more computing devices, an intersection of the ray and the first three-dimensional model;

(g) determining a color value texture mapped to the first three-dimensional model at the intersection determined in (f) based on the first texture atlas; and

(g) setting the color value determined in (g) to the pixel in the second texture atlas for the second three-dimensional model.

16. The apparatus of claim 15 , wherein the location on the second three-dimensional model is a three-dimensional point on the second three-dimensional model.

17. The apparatus of claim 15 , wherein the ray IS normal to the second three-dimensional model.

18. The apparatus of claim 15 , wherein the ray is normal to the first three-dimensional model.

19. The apparatus of claim 15 , wherein the ray extends to the first three-dimension model in a fixed direction.

20. The apparatus of claim 15 , wherein the first texture atlas for the first three-dimensional model is different from the second texture atlas for the second three-dimensional model.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2012
From: HSU, STEPHEN CHARLES
To: GOOGLE INC.
Reel/Frame 028175/0042 →