Patents by Inventor Christopher Craik

Christopher Craik has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9875519
    Abstract: Disclosed are apparatus and methods for rendering using a graphics processing component (GPC). A computing device can receive instructions for a GPC, including an instruction IA associated with a first portion of a canvas. An insertion position in an instruction buffer for instruction IA can be determined by: determining an instruction IB in the instruction buffer that is associated with a second portion of the canvas. If the first and second portions overlap, the insertion position can be based on an overlapping-instruction position of IB in the instruction buffer. Otherwise, if instructions IA and IB are similar, then the insertion position can be based on a second position of IB in the instruction buffer. Otherwise, the insertion position can be determined based on an ending position of the instruction buffer. Instruction IA can be inserted in the instruction buffer at the insertion position.
    Type: Grant
    Filed: February 9, 2016
    Date of Patent: January 23, 2018
    Assignee: Google LLC
    Inventors: Christopher Craik, Romain Guy
  • Patent number: 9858711
    Abstract: Methods and apparatus are provided for displaying shadows of circular light sources. A computing device can determine a light source and an occluding polygon that is between the light source and a receiver surface, where the occluding polygon includes vertices connected by edges. The computing device can determine a shadow of the occluding polygon on the receiver surface by at least: determining, for a particular vertex, a projection vertex on the receiver surface by projecting a ray from the center point through the particular vertex; determining an outline polygon based on the projection vertex; determining a projection circle around the projection vertex; determining a penumbra of the shadow based on exterior tangents outside of the outline polygon; and determining an umbra of the shadow based on interior tangents inside the outline polygon. The computing device can display at least part of the shadow.
    Type: Grant
    Filed: March 21, 2017
    Date of Patent: January 2, 2018
    Assignee: Google LLC
    Inventors: Teng-Hui Zhu, Christopher Craik
  • Patent number: 9811945
    Abstract: Disclosed are apparatus and methods for tessellating shapes. A computing device that has a display can receive an instruction to draw a shape. The computing device can determine a scale factor for the shape. The computing device can determine a set of polygons that tessellate the shape based on the scale factor. The set of polygons can include at least two polygons. The computing device can display the polygons in the determined set on the display.
    Type: Grant
    Filed: March 21, 2017
    Date of Patent: November 7, 2017
    Assignee: Google Inc.
    Inventors: Christopher Craik, Romain Guy
  • Publication number: 20170193698
    Abstract: Disclosed are apparatus and methods for tessellating shapes. A computing device that has a display can receive an instruction to draw a shape. The computing device can determine a scale factor for the shape. The computing device can determine a set of polygons that tessellate the shape based on the scale factor. The set of polygons can include at least two polygons. The computing device can display the polygons in the determined set on the display.
    Type: Application
    Filed: March 21, 2017
    Publication date: July 6, 2017
    Inventors: Christopher Craik, Romain Guy
  • Publication number: 20170192942
    Abstract: An electronic device (102) includes a display (104) to display a layout (108) of views, a user input component (212, 214, 216) to receive input representative of a positioned event (118), and a positioned event handler component (226) to detect the positioned event. The electronic device further includes a registry management component (230) to identify a terminal view (122) of the layout of views based on a location of the positioned event and a view tree management component (228) to construct an ancestor chain (126) of one or more ancestor views of the terminal view from the layout. The positioned event handler component is to sequentially dispatch the positioned event in the ancestor chain starting at a root view (110) of the ancestor chain.
    Type: Application
    Filed: January 6, 2016
    Publication date: July 6, 2017
    Inventors: Christopher Craik, Adam William Powell
  • Publication number: 20170193689
    Abstract: Methods and apparatus are provided for displaying shadows of circular light sources. A computing device can determine a light source and an occluding polygon that is between the light source and a receiver surface, where the occluding polygon includes vertices connected by edges. The computing device can determine a shadow of the occluding polygon on the receiver surface by at least: determining, for a particular vertex, a projection vertex on the receiver surface by projecting a ray from the center point through the particular vertex; determining an outline polygon based on the projection vertex; determining a projection circle around the projection vertex; determining a penumbra of the shadow based on exterior tangents outside of the outline polygon; and determining an umbra of the shadow based on interior tangents inside the outline polygon. The computing device can display at least part of the shadow.
    Type: Application
    Filed: March 21, 2017
    Publication date: July 6, 2017
    Inventors: Teng-Hui Zhu, Christopher Craik
  • Patent number: 9639976
    Abstract: Methods and apparatus are provided for displaying shadows of circular light sources. A computing device can determine a light source and an occluding polygon that is between the light source and a receiver surface, where the occluding polygon includes vertices connected by edges. The computing device can determine a shadow of the occluding polygon on the receiver surface by at least: determining, for a particular vertex, a projection vertex on the receiver surface by projecting a ray from the center point through the particular vertex; determining an outline polygon based on the projection vertex; determining a projection circle around the projection vertex; determining a penumbra of the shadow based on exterior tangents outside of the outline polygon; and determining an umbra of the shadow based on interior tangents inside the outline polygon. The computing device can display at least part of the shadow.
    Type: Grant
    Filed: October 31, 2014
    Date of Patent: May 2, 2017
    Assignee: Google Inc.
    Inventors: Teng-Hui Zhu, Christopher Craik
  • Patent number: 9639982
    Abstract: Disclosed are apparatus and methods for tessellating shapes. A computing device that has a display can receive an instruction to draw a shape. The computing device can determine a scale factor for the shape. The computing device can determine a set of polygons that tessellate the shape based on the scale factor. The set of polygons can include at least two polygons. The computing device can display the polygons in the determined set on the display.
    Type: Grant
    Filed: October 18, 2013
    Date of Patent: May 2, 2017
    Assignee: Goodle Inc.
    Inventors: Christopher Craik, Romain Guy
  • Publication number: 20160171642
    Abstract: Disclosed are apparatus and methods for rendering using a graphics processing component (GPC). A computing device can receive instructions for a GPC, including an instruction IA associated with a first portion of a canvas. An insertion position in an instruction buffer for instruction IA can be determined by: determining an instruction IB in the instruction buffer that is associated with a second portion of the canvas. If the first and second portions overlap, the insertion position can be based on an overlapping-instruction position of IB in the instruction buffer. Otherwise, if instructions IA and IB are similar, then the insertion position can be based on a second position of IB in the instruction buffer. Otherwise, the insertion position can be determined based on an ending position of the instruction buffer. Instruction IA can be inserted in the instruction buffer at the insertion position.
    Type: Application
    Filed: February 9, 2016
    Publication date: June 16, 2016
    Inventors: Christopher Craik, Romain Guy
  • Publication number: 20160125642
    Abstract: Methods and apparatus are provided for displaying shadows of circular light sources. A computing device can determine a light source and an occluding polygon that is between the light source and a receiver surface, where the occluding polygon includes vertices connected by edges. The computing device can determine a shadow of the occluding polygon on the receiver surface by at least: determining, for a particular vertex, a projection vertex on the receiver surface by projecting a ray from the center point through the particular vertex; determining an outline polygon based on the projection vertex; determining a projection circle around the projection vertex; determining a penumbra of the shadow based on exterior tangents outside of the outline polygon; and determining an umbra of the shadow based on interior tangents inside the outline polygon. The computing device can display at least part of the shadow.
    Type: Application
    Filed: October 31, 2014
    Publication date: May 5, 2016
    Inventors: Teng-Hui Zhu, Christopher Craik
  • Patent number: 9292903
    Abstract: Disclosed are apparatus and methods for rendering using a graphics processing component (GPC). A computing device can receive instructions for a GPC, including an instruction IA associated with a first portion of a canvas. An insertion position in an instruction buffer for instruction IA can be determined by: determining an instruction IB in the instruction buffer that is associated with a second portion of the canvas. If the first and second portions overlap, the insertion position can be based on an overlapping-instruction position of IB in the instruction buffer. Otherwise, if instructions IA and IB are similar, then the insertion position can be based on a second position of IB in the instruction buffer. Otherwise, the insertion position can be determined based on an ending position of the instruction buffer. Instruction IA can be inserted in the instruction buffer at the insertion position.
    Type: Grant
    Filed: October 22, 2013
    Date of Patent: March 22, 2016
    Assignee: Google Inc.
    Inventors: Christopher Craik, Romain Guy
  • Publication number: 20150109294
    Abstract: Disclosed are apparatus and methods for tessellating shapes. A computing device that has a display can receive an instruction to draw a shape. The computing device can determine a scale factor for the shape. The computing device can determine a set of polygons that tessellate the shape based on the scale factor. The set of polygons can include at least two polygons. The computing device can display the polygons in the determined set on the display.
    Type: Application
    Filed: October 18, 2013
    Publication date: April 23, 2015
    Applicant: Google Inc.
    Inventors: Christopher Craik, Romain Guy
  • Publication number: 20150097850
    Abstract: Disclosed are apparatus and methods for rendering using a graphics processing component (GPC). A computing device can receive instructions for a GPC, including an instruction IA associated with a first portion of a canvas. An insertion position in an instruction buffer for instruction IA can be determined by: determining an instruction IB in the instruction buffer that is associated with a second portion of the canvas. If the first and second portions overlap, the insertion position can be based on an overlapping-instruction position of IB in the instruction buffer. Otherwise, if instructions IA and IB are similar, then the insertion position can be based on a second position of IB in the instruction buffer. Otherwise, the insertion position can be determined based on an ending position of the instruction buffer. Instruction IA can be inserted in the instruction buffer at the insertion position.
    Type: Application
    Filed: October 22, 2013
    Publication date: April 9, 2015
    Applicant: Google Inc.
    Inventors: Christopher Craik, Romain Guy
  • Patent number: 8854385
    Abstract: Disclosed are apparatus and methods for rendering using a graphics processing component (GPC). A computing device can receive GPC instructions, with each instruction associated with a portion of a canvas. For each instruction: a first portion of the canvas can be determined and an instruction buffer can be searched to identify a mergeable instruction for the instruction. After identifying the mergeable instruction at a mergeable position within the instruction buffer, one or more instructions in the instruction buffer that include the mergeable instruction can be searched for overlap in the canvas with the first portion. In the event that the one or more instructions do not overlap with the first portion of the canvas, then the instruction can be merged with the mergeable instruction. Each instruction in the instruction buffer can be provided to the GPC for performing the instruction.
    Type: Grant
    Filed: October 24, 2013
    Date of Patent: October 7, 2014
    Assignee: Google Inc.
    Inventors: Christopher Craik, Romain Guy