Patents by Inventor David Luebke

David Luebke 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).

  • Publication number: 20140168238
    Abstract: Techniques are disclosed for tracing a ray within a parallel processing unit. A first thread receives a ray or a ray segment for tracing and identifies a first node within an acceleration structure associated with the ray, where the first node is associated with a volume of space traversed by the ray. The thread identifies the child nodes of the first node, where each child node is associated with a different sub-volume of space, and each sub-volume is associated with a corresponding ray segment. The thread determines that two or more nodes are associated with sub-volumes of space that intersect the ray segment. The thread selects one of these nodes for processing by the first thread and another for processing by a second thread. One advantage of the disclosed technique is that the threads in a thread group perform ray tracing more efficiently in that idle time is reduced.
    Type: Application
    Filed: December 13, 2012
    Publication date: June 19, 2014
    Applicant: NVIDIA Corporation
    Inventors: David LUEBKE, Timo AILA, Jacopo PANTALEONI, David TARJAN
  • Publication number: 20140071129
    Abstract: A method of generating an image. The method includes simulating a presence of at least one light source within a virtualized three dimensional space. Within the virtualized three dimensional space, a light sensing plane is defined. The light sensing plane includes a matrix of a number of pixels to be displayed on a display screen. The method further includes using a light transport procedure, computing a gradient value for each pixel of the matrix to produce a number of gradient values. The gradient computation involves selecting a plurality of light path pairs that contribute to a pixel wherein the selection is biased towards selection of more light paths that pass through pixels having larger gradient values. The plurality of gradient values are converted to a plurality of light intensity values which represent the image.
    Type: Application
    Filed: December 28, 2012
    Publication date: March 13, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: Jaakko Lehtinen, Timo Aila, Samuli Laine, Tero Karras, David Luebke
  • Publication number: 20140028679
    Abstract: A technique for efficiently compressing rendered three-dimensional images in a remote rendering system adds a novel render-assisted prediction function to an existing video compression framework, such as the standard H.264/5 framework. Auxiliary rendering information is separated from rendering information used to describe a reference image by a server system. A client system may alter the auxiliary data and generate a new image based on the reference image and rendered scene information from the auxiliary data without creating additional network bandwidth or server workload.
    Type: Application
    Filed: December 26, 2012
    Publication date: January 30, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: Dawid Stanislaw Pajak, David Luebke, Scott Saulters
  • Publication number: 20140028703
    Abstract: A technique for efficiently compressing rendered three-dimensional images in a remote rendering system adds a novel render-assisted prediction function to an existing video compression framework, such as the standard H.264/5 framework. Auxiliary rendering information is separated from rendering information used to describe a reference image by a server system. A client system may alter the auxiliary data and generate a new image based on the reference image and rendered scene information from the auxiliary data without creating additional network bandwidth or server workload.
    Type: Application
    Filed: December 26, 2012
    Publication date: January 30, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: Dawid STANISLAW PAJAK, David Luebke, Scott SAULTERS
  • Patent number: 8615770
    Abstract: One embodiment of the present invention sets forth a technique for partitioning a predecessor thread program into sub-programs and dynamically spawning a thread grid of the sub-programs based on the outcome of a conditional statement in the predecessor thread program. The programming instructions for the predecessor thread program are analyzed to assess the benefit of partitioning the thread program at a conditional statement into sub-programs. If the predecessor thread program is partitioned, then each branch of the conditional statement may be used to form a separate sub-program. Predicate tables are populated at the predecessor thread program run-time to establish which possible instances of the thread sub-programs should be spawned in subsequent execution phases.
    Type: Grant
    Filed: August 29, 2008
    Date of Patent: December 24, 2013
    Assignee: Nvidia Corporation
    Inventors: John A. Stratton, David Luebke
  • Publication number: 20130310569
    Abstract: A method of synthesizing an ionic liquid, includes reacting a 1,2,3-triazole including at least one of a 4-substituent or a 5-substituent with a hydroxide compound having the formula R+OH? in a dehydration reaction, wherein R+ is an ionic liquid cation. R+ is a five-membered heterocyclic cation, an aromatic cation, a sulfonium cation, an ammonium cation, or a phosphonium cation. In a number of embodiments, R+ is a pyridinium cation, a bipyridinium cation, an amino pyridinium cation, a pyridazinium cation, an ozaxolium cation, a pyrazolium cation, an imidazolium cation, a pyramidinium cation, a triazolium cation, a thiazolium cation, an acridinium cation, a quinolinium cation, an isoquinolinium cation, an orange-acridinium cation, a benzotriazolium cation, a methimzolium cation, a sulfonium cation, an ammonium cation, or a phosphonium cation.
    Type: Application
    Filed: May 21, 2013
    Publication date: November 21, 2013
    Inventors: Hunaid Nulwala, Robert Thompson, David Luebke, Erik Albenze
  • Patent number: 8413151
    Abstract: One embodiment of the present invention sets forth a technique for selectively spawning threads within a multiprocessing system. A computation work distributor (CWD), within the system, is responsible for performing the detailed work needed to spawn a thread grid. A request to the CWD to spawn a thread grid includes a predicate table, which includes an array of flags used to indicate which thread indices should have an associated thread block spawned and which should not. Greater efficiency is achieved by only spawning thread blocks that should perform useful computation.
    Type: Grant
    Filed: December 19, 2007
    Date of Patent: April 2, 2013
    Assignee: NVIDIA Corporation
    Inventors: John A. Stratton, David Luebke
  • Patent number: 8294714
    Abstract: One embodiment of the invention sets forth a mechanism for interleaving consecutive display frames rendered at complementary reduced resolutions. The GPU driver configures a command stream associated with a frame received from a graphics application for reduced frame rendering. The command stream specifies a nominal resolution at which the frame should be rendered. The reduced resolution associated with the frame is determined based on the reduced resolution of an immediately preceding frame (i.e., the complementary reduced resolution), if one exists, or on GPU configuration information. The GPU driver then modifies the command stream to specify the reduced resolution. The GPU driver also inserts an upscale command sequence specifying the nominal resolution into the command stream. Once the command stream is configured in such a manner, the GPU driver transmits the command stream to the GPU for reduced rendering.
    Type: Grant
    Filed: June 26, 2009
    Date of Patent: October 23, 2012
    Assignee: NVIDIA Corporation
    Inventors: Jonathan Bakdash, Qi Mo, David Luebke, Douglas A. Voorhies
  • Publication number: 20100064291
    Abstract: A method for reducing execution divergence among a plurality of threads executable within a parallel processing architecture includes an operation of determining, among a plurality of data sets that function as operands for a plurality of different execution commands, a preferred execution type for the collective plurality of data sets. A data set is assigned from a data set pool to a thread which is to be executed by the parallel processing architecture, the assigned data set being of the preferred execution type, whereby the parallel processing architecture is operable to concurrently execute a plurality of threads, the plurality of concurrently executable threads including the thread having the assigned data set. An execution command for which the assigned data functions as an operand is applied to each of the plurality of threads.
    Type: Application
    Filed: September 5, 2008
    Publication date: March 11, 2010
    Applicant: Nvidia Corporation
    Inventors: Timo AILA, Samuli Laine, David Luebke, Michael Garland, Jared Hoberock
  • Patent number: 6574360
    Abstract: An occlusion culling method for image processing and system therefor. The culling method first determines which polygons are hidden, or occluded, by other objects. These hidden or occluded polygons will not contribute to the final scene and, therefore, need not be rendered. In the first major step, the input models are preprocessed to build a hierarchical data structure which is as an approximation to the input models. Simple polygonal occluders are determined for substitution in place of the complex image geometry in successive visibility queries. Once the first preprocessing step is complete, the second step may be executed at run-time, while a user is inspecting, or visualizing, the input. In the second step, the occluders, determined in the first step, are used to selectively forego rendering shapes or shape portions that are unseen from the current viewpoint.
    Type: Grant
    Filed: July 23, 1999
    Date of Patent: June 3, 2003
    Assignee: International Business Machines Corp.
    Inventors: Fausto Berdardini, Jihad El-Sana, James T. Klosowski, David Luebke, Jai Menon