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: 11769298Abstract: 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: GrantFiled: November 2, 2021Date of Patent: September 26, 2023Assignee: NVIDIA CorporationInventor: Mark Kilgard
-
Patent number: 11651520Abstract: 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: GrantFiled: February 22, 2022Date of Patent: May 16, 2023Assignee: NVIDIA CorporationInventor: Mark Kilgard
-
Publication number: 20220180566Abstract: 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: ApplicationFiled: February 22, 2022Publication date: June 9, 2022Inventor: Mark Kilgard
-
Publication number: 20220058868Abstract: 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: ApplicationFiled: November 2, 2021Publication date: February 24, 2022Inventor: Mark Kilgard
-
Patent number: 11257253Abstract: 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: GrantFiled: June 29, 2020Date of Patent: February 22, 2022Assignee: Nvidia CorporationInventor: Mark Kilgard
-
Patent number: 11164372Abstract: 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: GrantFiled: December 13, 2019Date of Patent: November 2, 2021Assignee: Nvidia CorporationInventor: Mark Kilgard
-
Publication number: 20210174584Abstract: 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: ApplicationFiled: December 13, 2019Publication date: June 10, 2021Inventor: Mark Kilgard
-
Publication number: 20210174550Abstract: 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: ApplicationFiled: June 29, 2020Publication date: June 10, 2021Inventor: Mark Kilgard
-
Publication number: 20080106549Abstract: 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: ApplicationFiled: December 20, 2007Publication date: May 8, 2008Inventors: William Newhall, Mark Kilgard
-
Publication number: 20060005178Abstract: 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: ApplicationFiled: July 2, 2004Publication date: January 5, 2006Applicant: NVIDIA CorporationInventors: Mark Kilgard, Christopher Dodd, Rev Lebaredian
-
Publication number: 20050259103Abstract: 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: ApplicationFiled: May 10, 2005Publication date: November 24, 2005Inventors: Mark Kilgard, Patrick Brown, Eric Werness