US 11,721,307 B1
Beam-racing pixel generation in a display engine
Larry Seiler, Redmond, WA (US); and Warren Andrew Hunt, Woodinville, WA (US)
Assigned to Meta Platforms Technologies, LLC, Menlo Park, CA (US)
Filed by Meta Platforms Technologies, LLC, Menlo Park, CA (US)
Filed on Oct. 30, 2019, as Appl. No. 16/669,234.
Claims priority of provisional application 62/755,368, filed on Nov. 2, 2018.
Int. Cl. G09G 5/38 (2006.01); G09G 5/373 (2006.01); G09G 3/02 (2006.01)
CPC G09G 5/38 (2013.01) [G09G 3/025 (2013.01); G09G 5/373 (2013.01); G09G 2310/06 (2013.01); G09G 2310/08 (2013.01); G09G 2320/0252 (2013.01); G09G 2320/0261 (2013.01); G09G 2354/00 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method comprising, by a computing system:
accessing display timing information associated with a scanning display, the display timing information being associated with a non-linear rotation speed of a scanning element of the scanning display;
determining, according to the display timing information, one or more rendering requirements for a plurality of portions of the display, each of the plurality of portions comprising one or more full rows of the display, wherein the one or more rendering requirements specify a predetermined scheduled timing interval and a size for each of the plurality of portions of the display, wherein the size of each of the plurality of portions of the display corresponds to a number of full rows of the display;
according to the one or more rendering requirements associated with a first portion of the plurality of portions of the display, rendering the first portion of the display by:
determining a first viewpoint of a user, the first viewpoint being associated with a first time;
rendering, based on the first viewpoint of the user, first pixel values for the first portion of the display in accordance with the predetermined scheduled timing interval and the size associated with the first portion of the display; and
sending the first pixel values for the first portion of the display to be output by the first portion of the display; and
according to the one or more rendering requirements associated with a second portion of the plurality of portions of the display, rendering the second portion of the display by:
determining a second viewpoint of the user, the second viewpoint being associated with a second time different from the first time;
rendering, based on the second viewpoint of the user, second pixel values for the second portion of the display in accordance with the predetermined scheduled timing interval and the size associated with the second portion of the display, wherein the predetermined scheduled timing interval and the size associated with the second portion of the display are different from the predetermined scheduled timing interval and the size associated with the first portion of the display; and
sending the second pixel values for the second portion of the display to be output by the second portion of the display so that the first pixel values of the first portion of the display and the second pixel values of the second portion of the display are concurrently displayed,
wherein the one or more rendering requirements associated with the first portion of the display are different from the one or more rendering requirements associated with the second portion of the display.