Patents by Inventor Mark Kilgard

Mark Kilgard 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: 11769298
    Abstract: The disclosure introduces polar stroking for representing paths. A system, method, and apparatus are disclosed for representing and rendering stroked paths employing polar stroking. In one example, a method of approximating a path is provided that includes: (1) evaluating, in parallel, multiple links of a path, wherein each link of the multiple links is evaluated in steps based on tangent angle changes of the link, and (2) providing a polar stroked representation of the path employing the steps. A computing system for rendering is also provided. In one example, the computing system includes one or more processing units to perform one or more operations including generating, in parallel, a polar stroked representation of individual links of a path, and rendering a stroked tessellation of the path based on the polar stroked representations of the individual links.
    Type: Grant
    Filed: November 2, 2021
    Date of Patent: September 26, 2023
    Assignee: NVIDIA Corporation
    Inventor: Mark Kilgard
  • Patent number: 11651520
    Abstract: The disclosure provides computer systems for processing paths and a renderer that generates a stroked tessellation of a path. A data structure for processing the paths can be used, wherein the data structure is an array of indexed links that compactly encode a path. The position of one or more index values, such as a null index value, within an indexed link can encode a link's type. In one example, the computer system for processing links of a path includes one or more processing units to perform one or more operations including: (1) analyzing a data structure that encodes a link of a path, the data structure having multiple indices that refer to a control point coordinate array corresponding to the link, and (2) determining a type of the link based on a presence of at least one index null value for at least one of the indices.
    Type: Grant
    Filed: February 22, 2022
    Date of Patent: May 16, 2023
    Assignee: NVIDIA Corporation
    Inventor: Mark Kilgard
  • Publication number: 20220180566
    Abstract: The disclosure provides computer systems for processing paths and a renderer that generates a stroked tessellation of a path. A data structure for processing the paths can be used, wherein the data structure is an array of indexed links that compactly encode a path. The position of one or more index values, such as a null index value, within an indexed link can encode a link's type. In one example, the computer system for processing links of a path includes one or more processing units to perform one or more operations including: (1) analyzing a data structure that encodes a link of a path, the data structure having multiple indices that refer to a control point coordinate array corresponding to the link, and (2) determining a type of the link based on a presence of at least one index null value for at least one of the indices.
    Type: Application
    Filed: February 22, 2022
    Publication date: June 9, 2022
    Inventor: Mark Kilgard
  • Publication number: 20220058868
    Abstract: The disclosure introduces polar stroking for representing paths. A system, method, and apparatus are disclosed for representing and rendering stroked paths employing polar stroking. In one example, a method of approximating a path is provided that includes: (1) evaluating, in parallel, multiple links of a path, wherein each link of the multiple links is evaluated in steps based on tangent angle changes of the link, and (2) providing a polar stroked representation of the path employing the steps. A computing system for rendering is also provided. In one example, the computing system includes one or more processing units to perform one or more operations including generating, in parallel, a polar stroked representation of individual links of a path, and rendering a stroked tessellation of the path based on the polar stroked representations of the individual links.
    Type: Application
    Filed: November 2, 2021
    Publication date: February 24, 2022
    Inventor: Mark Kilgard
  • Patent number: 11257253
    Abstract: The disclosure provides methods of encoding a path, a stroking system for paths, a renderer that generates a stroked tessellation of a path, and a method of determining a type of link of a path from a data structure. The data structure can be an array of indexed links that compactly encode a path. The position of one or more index values, such as a null index value, within an indexed link can encode the link's type. In one example, a method of encoding includes: (1) receiving a path having multiple links, wherein the links include at least one segment and at least one junction, and (2) generating an encoded path by encoding the links based on positional information of the links, wherein the encoding employs a same data structure for each of the links.
    Type: Grant
    Filed: June 29, 2020
    Date of Patent: February 22, 2022
    Assignee: Nvidia Corporation
    Inventor: Mark Kilgard
  • Patent number: 11164372
    Abstract: The disclosure introduces polar stroking for representing paths. A system, method, and apparatus are disclosed for representing and rendering stroked paths employing polar stroking. In one example, a method of approximating a link of a path is provided that includes: (1) determining tangent angle changes of a link of a path, (2) evaluating the link in steps based on the tangent angle changes, and (3) providing a polar stroked representation of the link employing the steps, wherein the evaluating is performed non-recursively. A polar stroking system is also disclosed. In one example, the polar stroking system includes: (1) a path processor configured to decompose a path into links, and (2) a polar stroking processor configured to determine polar stroking intermediates of the links from a characterization of the links and generate, employing the polar stroking intermediates, a polar stroked representation for each of the links.
    Type: Grant
    Filed: December 13, 2019
    Date of Patent: November 2, 2021
    Assignee: Nvidia Corporation
    Inventor: Mark Kilgard
  • Publication number: 20210174584
    Abstract: The disclosure introduces polar stroking for representing paths. A system, method, and apparatus are disclosed for representing and rendering stroked paths employing polar stroking. In one example, a method of approximating a link of a path is provided that includes: (1) determining tangent angle changes of a link of a path, (2) evaluating the link in steps based on the tangent angle changes, and (3) providing a polar stroked representation of the link employing the steps, wherein the evaluating is performed non-recursively. A polar stroking system is also disclosed. In one example, the polar stroking system includes: (1) a path processor configured to decompose a path into links, and (2) a polar stroking processor configured to determine polar stroking intermediates of the links from a characterization of the links and generate, employing the polar stroking intermediates, a polar stroked representation for each of the links.
    Type: Application
    Filed: December 13, 2019
    Publication date: June 10, 2021
    Inventor: Mark Kilgard
  • Publication number: 20210174550
    Abstract: The disclosure provides methods of encoding a path, a stroking system for paths, a renderer that generates a stroked tessellation of a path, and a method of determining a type of link of a path from a data structure. The data structure can be an array of indexed links that compactly encode a path. The position of one or more index values, such as a null index value, within an indexed link can encode the link's type. In one example, a method of encoding includes: (1) receiving a path having multiple links, wherein the links include at least one segment and at least one junction, and (2) generating an encoded path by encoding the links based on positional information of the links, wherein the encoding employs a same data structure for each of the links.
    Type: Application
    Filed: June 29, 2020
    Publication date: June 10, 2021
    Inventor: Mark Kilgard
  • Publication number: 20080106549
    Abstract: An invention is provided for rendering using an omnidirectional light. A shadow cube texture map having six cube faces centered by a light source is generated. Each cube face comprises a shadow texture having depth data from a perspective of the light source. In addition, each cube face is associated with an axis of a three-dimensional coordinate system. For each object fragment rendered from the camera's perspective a light-to-surface vector is defined from the light source to the object fragment, and particular texels within particular cube faces are selected based on the light-to-surface vector. The texel values are tested against a depth value computed from the light to surface vector. The object fragment is textured as in light or shadow according to the outcome of the test.
    Type: Application
    Filed: December 20, 2007
    Publication date: May 8, 2008
    Inventors: William Newhall, Mark Kilgard
  • Publication number: 20060005178
    Abstract: A system optimizes two or more stream processing programs based upon the data exchanged between the stream processing programs. The system alternately processes each stream processing program to identify and remove dead program code, thereby improving execution performance. Dead program code is identified by propagating constants received as inputs from other stream processing programs and by analyzing a first stream processing program and determining the outputs of a second stream processing program that are unused by the first stream processing program. The system may perform multiple iterations of this optimization is previous iterations introduce additional constants used as inputs to a stream processing program. Following optimization of the stream processing programs, the optimized stream processing programs are compiled to a format adapted to be executed by a stream processing system.
    Type: Application
    Filed: July 2, 2004
    Publication date: January 5, 2006
    Applicant: NVIDIA Corporation
    Inventors: Mark Kilgard, Christopher Dodd, Rev Lebaredian
  • Publication number: 20050259103
    Abstract: A system, method and computer program product are provided for programmable processing of fragment data in a computer hardware graphics pipeline. Initially, fragment data is received in a hardware graphics pipeline. It is then determined whether the hardware graphics pipeline is operating in a programmable mode. If it is determined that the hardware graphics pipeline is operating in the programmable mode, programmable operations are performed on the fragment data in order to generate output. The programmable operations are performed in a manner/sequence specified in a graphics application program interface. If it is determined that the hardware graphics pipeline is not operating in the programmable mode, standard graphics application program interface (API) operations are performed on the fragment data in order to generate output.
    Type: Application
    Filed: May 10, 2005
    Publication date: November 24, 2005
    Inventors: Mark Kilgard, Patrick Brown, Eric Werness