IP Library Granted Patent US 11,676,324
Granted Patent B2
US 11,676,324 · App. 17/217,261 · Granted Jun 13, 2023

Cloud rendering of texture map

Inventors: Reza Nourai (Danville, CA); Volga Aksoy (Redwood City, CA); Zeyar Htet (San Mateo, CA)
Assignee: Meta Platforms Technologies, LLC
G06T15/04G06T1/60G06T9/00G06T15/20H04L67/10
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,676,324
App. No.
17/217,261
Granted
Jun 13, 2023
Kind
B2
Abstract

In one embodiment, a method includes the steps of receiving, from a client device, a first viewpoint from which to view a virtual object, the virtual object having a shape defined by multiple geometric primitives, identifying, relative to the first viewpoint, visible geometric primitives from multiple geometric primitives, allocating a region in a texture atlas for each of the visible geometric primitives, generating shading information for each of the visible geometric primitives, storing the shading information of each of the visible geometric primitives in a portion of the allocated region smaller than the allocated region to create a buffer around the portion of the allocated region where the shading information is stored, and sending, to the client device, the texture atlas and a list identifying the visible geometric primitives, the texture atlas being configured for rendering images of the visible geometric primitives from different viewpoints.

Claims (41)

1. A method comprising, by a computing server:

receiving, from a client device, a first viewpoint from which to view a virtual object, the virtual object having a shape defined by a plurality of geometric primitives;

identifying, relative to the first viewpoint, visible geometric primitives from the plurality of geometric primitives;

for each of the visible geometric primitives:

allocating a region in a texture atlas for the visible geometric primitive;

generating shading information for the visible geometric primitive, wherein the shading information is scaled down to be smaller than the allocated region; and

storing the shading information in a first portion of the allocated region and creating a buffer in a second portion of the allocated region that is different from the first portion of the allocated region; and

sending, to the client device, the texture atlas and a list identifying the visible geometric primitives, the texture atlas being configured for rendering images of the visible geometric primitives from different viewpoints.

2. The method of claim 1 , wherein the plurality of geometric primitives are right triangles.

3. The method of claim 1 , wherein, for each of the visible geometric primitives, the corresponding buffer has a width that is determined based on an aspect ratio or a size of the visible geometric primitive.

4. The method of claim 1 , wherein the list identifying the visible geometric primitives comprises information indicating a mapping between each of the visible geometric primitives and a region of the texture atlas storing the shading information of the visible geometric primitive.

5. The method of claim 4 , wherein the information indicating the mapping between each of the visible geometric primitives and the region of the texture atlas storing the shading information of the visible geometric primitive is encoded based on a hierarchical organization of the texture atlas.

6. The method of claim 1 , wherein the texture atlas sent to the client device is compressed using motion estimation techniques.

7. The method of claim 1 , wherein the visible geometric primitives further comprise geometric primitives from the plurality of geometric primitives that are visible from one or more additional viewpoints derived from the first viewpoint.

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

receive, from a client device, a first viewpoint from which to view a virtual object, the virtual object having a shape defined by a plurality of geometric primitives;

identify, relative to the first viewpoint, visible geometric primitives from the plurality of geometric primitives;

for each of the visible geometric primitives:

allocate a region in a texture atlas for the visible geometric primitive;

generate shading information for the visible geometric primitive, wherein the shading information is scaled down to be smaller than the allocated region; and

store the shading information in a first portion of the allocated region and create a buffer in a second portion of the allocated region that is different from the first portion of the allocated region; and

send, to the client device, the texture atlas and a list identifying the visible geometric primitives, the texture atlas being configured for rendering images of the visible geometric primitives from different viewpoints.

9. The one or more computer-readable non-transitory storage media of claim 8 , wherein the plurality of geometric primitives are right triangles.

10. The one or more computer-readable non-transitory storage media of claim 8 , wherein, for each of the visible geometric primitives, the corresponding buffer has a width that is determined based on an aspect ratio or a size of the visible geometric primitive.

11. The one or more computer-readable non-transitory storage media of claim 8 , wherein the list identifying the visible geometric primitives comprises information indicating a mapping between each of the visible geometric primitives and a region of the texture atlas storing the shading information of the visible geometric primitive.

12. The one or more computer-readable non-transitory storage media of claim 11 , wherein the information indicating the mapping between each of the visible geometric primitives and the region of the texture atlas storing the shading information of the visible geometric primitive is encoded based on a hierarchical organization of the texture atlas.

13. The one or more computer-readable non-transitory storage media of claim 8 , wherein the texture atlas sent to the client device is compressed using motion estimation techniques.

14. The one or more computer-readable non-transitory storage media of claim 8 , wherein the visible geometric primitives further comprise geometric primitives from the plurality of geometric primitives that are visible from one or more additional viewpoints derived from the first viewpoint.

15. A system comprising: one or more processors; and one or more computer-readable non-transitory storage media in communication with the one or more processors, the one or more computer-readable non-transitory storage media comprising instructions that when executed by the one or more processors, cause the system to:

receive, from a client device, a first viewpoint from which to view a virtual object, the virtual object having a shape defined by a plurality of geometric primitives;

identify, relative to the first viewpoint, visible geometric primitives from the plurality of geometric primitives;

for each of the visible geometric primitives:

allocate a region in a texture atlas for the visible geometric primitive;

generate shading information for the visible geometric primitive, wherein the shading information is scaled down to be smaller than the allocated region; and

store the shading information in a first portion of the allocated region and create a buffer in a second portion of the allocated region that is different from the first portion of the allocated region; and

send, to the client device, the texture atlas and a list identifying the visible geometric primitives, the texture atlas being configured for rendering images of the visible geometric primitives from different viewpoints.

16. The system of claim 15 , wherein the plurality of geometric primitives are right triangles.

17. The system of claim 15 , wherein, for each of the visible geometric primitives, the corresponding buffer has a width that is determined based on an aspect ratio or a size of the visible geometric primitive.

18. The system of claim 15 , wherein the list identifying the visible geometric primitives comprises information indicating a mapping between each of the visible geometric primitives and a region of the texture atlas storing the shading information of the visible geometric primitive.

19. The system of claim 18 , wherein the information indicating the mapping between each of the visible geometric primitives and the region of the texture atlas storing the shading information of the visible geometric primitive is encoded based on a hierarchical organization of the texture atlas.

20. The system of claim 15 , wherein the texture atlas sent to the client device is compressed using motion estimation techniques.

Assignments (2)
CHANGE OF NAME Recorded Jul 6, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060591/0848 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2021
From: NOURAI, REZA; AKSOY, VOLGA; HTET, ZEYAR
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 055799/0144 →