IP Library Granted Patent US 11,645,814
Granted Patent B2
US 11,645,814 · App. 17/391,416 · Granted May 9, 2023

System and method for optimizing the rendering of dynamically generated geometry

Inventors: Pierre-Antoine Benoit LaFayette (North York, CA); Rémi Palandri (San Francisco, CA)
Assignee: Meta Platforms Technologies, LLC
G06T17/20G06F3/013G06T2210/36
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 11,645,814
App. No.
17/391,416
Granted
May 9, 2023
Kind
B2
Abstract

Particular embodiments described herein present a technique for mesh simplification. A computing system may receive a request to render an image of a virtual scene including a virtual object. The system may determine one or more positions of the virtual object relative to one or more of a foveal focus point or a lens, respectively. The system may determine a screen coverage size of the virtual object. The system may then determine a simplification level for the virtual object based on the determined position(s) and the screen coverage size of the virtual object. The system may generate a mesh representation of the virtual object based on the determined simplification level, where the number of polygons used in the mesh representation depends on the determined simplification level. The system may render the image of the virtual scene using at least the generated mesh representation of the virtual object.

Claims (41)

1. A method comprising, by a computing system:

receiving a request to render an image of a virtual scene from a viewpoint, the image comprising at least a first virtual object visible from the viewpoint;

determining a first number of pixels required for depicting the first virtual object in the image;

determining a first geometry simplification level for the first virtual object based on a comparison between the first number of pixels and a first pixel number threshold associated with a first region of the image in which the first virtual object would appear;

generating a first mesh representation of the first virtual object based on the first geometry simplification level, wherein a first number of polygons used in the first mesh representation depends on the first geometry simplification level; and

rendering the image of the virtual scene using at least the generated first mesh representation of the first virtual object.

2. The method of claim 1 , wherein the first mesh representation of the first virtual object comprises a higher number of polygons when the first number of pixels required for depicting the first virtual object exceeds the first pixel number threshold, and wherein the first mesh representation of the first virtual object comprises a lower number of polygons when the first pixel number threshold exceeds the first number of pixels required for depicting the first virtual object.

3. The method of claim 1 , wherein the first region is one of a plurality of regions of the image, and wherein a pixel number threshold associated with each of the plurality of regions is determined based on a proximity of the region to a center of a lens used for viewing the image.

4. The method of claim 3 , further comprising:

determining a second number of pixels required for depicting a second virtual object in the image;

determining a second geometry simplification level for the second virtual object based on the second number of pixels required for depicting the second virtual object; and

generating a second mesh representation of the second virtual object based on the determined second geometry simplification level, wherein a second number of polygons used in the second mesh representation depends on the determined second geometry simplification level, wherein the rendering of the image of the virtual scene further uses the generated second mesh representation of the second virtual object.

5. The method of claim 4 , wherein determining the second geometry simplification level for the second virtual object comprises:

determining a second region of the image in which the second virtual object would appear;

determining a second pixel number threshold associated with the second region; and

determining the second geometry simplification level based on a comparison of the second number of pixels required for depicting the second virtual object and the second pixel number threshold associated with the second region.

6. The method of claim 5 , wherein the first pixel number threshold is larger than the second pixel number threshold when the second region is closer to the center of the lens than the first region.

7. The method of claim 1 , wherein the first geometry simplification level for the first virtual object is determined further based on distortion characteristics at an area covered by the first virtual object associated with a lens used for viewing the image.

8. The method of claim 7 , wherein the first number of polygons used in the first mesh representation is lower when higher distortion is observed through the area covered by the first virtual object.

9. The method of claim 7 , wherein the first number of polygons used in the first mesh representation is higher when lower distortion is observed through the area covered by the first virtual object.

10. The method of claim 1 , wherein the first virtual object is one of a plurality of virtual objects that collectively form a larger virtual object in the virtual scene, wherein a plurality of geometry simplification levels is respectively determined for the plurality of virtual objects, wherein the plurality of geometry simplification levels is non-uniform.

11. The method of claim 1 , further comprising:

determining a foveal focus point based on images of one or more eyes of a user captured using one or more cameras.

12. The method of claim 11 , wherein the first geometry simplification level is determined further based on a distance of the first virtual object from the foveal focus point.

13. The method of claim 1 , wherein the first mesh representation of the first virtual object is procedurally generated based on the first geometry simplification level.

14. The method of claim 1 , wherein the image is one frame in a video.

15. The method of claim 14 , wherein the generation of the first mesh representation of the first virtual object and the rendering of the image are performed while the video is being displayed.

16. The method of claim 1 , further comprising:

accessing, from memory, a shape definition of the first virtual object, wherein the generation of the first mesh representation of the first virtual object is further based on the shape definition.

17. A system comprising: one or more processors and one or more computer-readable non-transitory storage media coupled to one or more of the processors, the one or more computer-readable non-transitory storage media comprising instructions operable when executed by one or more of the processors to cause the system to:

receive a request to render an image of a virtual scene from a viewpoint, the image comprising at least a first virtual object visible from the viewpoint;

determine a first number of pixels required for depicting the first virtual object in the image;

determining a first geometry simplification level for the first virtual object based on a comparison between the first number of pixels and a first pixel number threshold associated with a first region of the image in which the first virtual object would appear;

generate a first mesh representation of the first virtual object based on the first geometry simplification level, wherein a first number of polygons used in the first mesh representation depends on the first geometry simplification level; and

render the image of the virtual scene using at least the generated first mesh representation of the first virtual object.

18. One or more computer-readable non-transitory storage media embodying software that is operable when executed to cause one or more processors to:

receive a request to render an image of a virtual scene from a viewpoint, the image comprising at least a first virtual object visible from the viewpoint;

determine a first number of pixels required for depicting the first virtual object in the image;

determining a first geometry simplification level for the first virtual object based on a comparison between the first number of pixels and a first pixel number threshold associated with a first region of the image in which the first virtual object would appear;

generate a first mesh representation of the first virtual object based on the first geometry simplification level, wherein a first number of polygons used in the first mesh representation depends on the first geometry simplification level; and

render the image of the virtual scene using at least the generated first mesh representation of the first virtual object.

Assignments (1)
CHANGE OF NAME Recorded Jul 6, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060591/0848 →
Continuity (2)
Continuation 16518703 · Jul 22, 2019
Related Publication 20210358216A1 · Nov 18, 2021