
Smoothed Particle Hydrodynamics
Programmed in OpenCL running on an AMD graphics card with 32K particles. Visualization by Saif Ali.
Patents
:
Render graph compilation method and use thereof for low-latency execution.
United states 9,223,551
Issued December 29, 2015
A graph is compiled that defines a data flow from input(s) to output(s) for images. The data flow includes one or more filters to be applied to the images. Compiling the graph includes forming an assemblage of kernel invocations for the data flow and forming a mapping between kernel invocations in code for the one or more filters and the assemblage of kernel invocations. For multiple ones of a number of frames of images, code in the one or more filters is executed, data is passed into the assemblage to indicate which execution path in the assemblage should be chosen from among a plurality of possible execution paths for one of the filters, wherein the data is determined using at least the mapping and the executing code, and kernel invocations in the indicated execution path are executed. Methods, apparatus, and computer program products are disclosed.
Fast automatic image filter tuning using machine learning algorithm
United States 9,524,541
Issued December 20, 2016
Disclosed herein is a method. A set of pre-adjusted images including source images of the pre-adjusted images is provided. The pre-adjusted images include image filter parameters. Histogram information for each of the source images is computed. A learning algorithm is applied to the set. The learning algorithm is configured to map the histogram information to the image filter parameters. A...
Render Tree Caching
United States US 8,970,613
Issued March 3, 2015
GPU fragment programs can be used to render images in a computer system. These fragment programs are generated from render trees, which specify one or more filters or functions to be applied to an input image to render an output image. It is not uncommon for successive frames to require application of substantially the same filters. Therefore, rather than regenerate and recompile new fragment...
3 inventors:
Alan Heirich
Computer scientist and software developer- David Hayward
Graphics Engineering Manager at Apple, Inc. - Giridhar Murthy
Software Engineer at Facebook
United States US 12/793,357
Issued July 17, 2012
Soft shadows in computer graphics images are created by rendering the scene from the camera viewpoint and at least one light viewpoint. The positions of scene fragments and light fragments in the scene are stored. For each scene fragment, a frustum is defined between the position of the scene fragment and the light source. Light fragments are evaluated with respect to the frustum to select light...
2 inventors:
- Alan Heirich
Computer scientist and software developer - Louis Bavoil
Developer Technology Engineer at NVIDIA
Streaming programming generator
United States US 12/911,952
Issued April 26, 2012
A device receives input that includes definitions of components of a computational pipeline, where the components include one or more buffers, one or more kernels, and one or more stages within a control graph. The device generates, based on the input, kernel signatures for a graphics processor, where the kernel signatures compile into an executable streaming program for the computational...
2 inventors:
Alan Heirich
Computer scientist and software developer- Benedict Gaster
Researcher and SL at University of the West of England
Interactive debugging and monitoring of shader programs executing on a graphics processor
United States US 12/467,796
Issued March 15, 2011
A development application leverages the programmability of shader execution units in the graphics processing subsystem to make graphics processing subsystem state data accessible to applications executed outside the graphics processing subsystem. The development application modifies shaders to include state output instructions adapted to direct a shader execution unit to copy graphics processing...
Cone-culled soft shadows
United States US 11/418,415
Issued July 13, 2010
Soft shadows in computer graphics images are created by rendering the scene from the camera viewpoint and at least one light viewpoint. The positions of scene fragments and light fragments in the scene are stored. For each scene fragment, a frustum is defined between the position of the scene fragment and the light source. Light fragments are evaluated with respect to the frustum to select light...
2 inventors:
Alan Heirich
Computer scientist and software developer- Louis Bavoil
Developer Technology Engineer at NVIDIA
Distributed rendering of interactive soft shadows
United States US 10/418,502
Issued May 11, 2010
The disclosed embodiments relate to a rendering cluster that renders an image of a scene object. The rendering cluster may comprise an illumination node that produces illumination output based on lighting properties of the scene object and a material node that produces material output based on material properties of the scene object. The illumination output is combined with the material output to...
3 inventors:
- Alan Heirich
Computer scientist and software developer - Mark Shand
Googler - Michael Isard
Unaffiliated
Technique for processing a computer program
United States PCT/US2006/027361
Issued May 2, 2007
The present invention is directed to a method for processing, in a computer system, a computer program having a plurality of operations. The method features calling a dynamic programming routine to generate a schedule for executing a subgroup of the plurality of operations by modeling operations of a computational processor associated with the computer system to minimize a computational cost of...
Statistical rendering acceleration
United States PCT/US2006/018145
Issued January 17, 2007
Different rendering techniques are selected for portions of a scene based on statistical estimates of the portions' rendering costs. Geometry representing a scene, including static geometry (105) and dynamic geometry (110), is supplied to bounding volume hierarchy generator (120). Bounding volume hierarchy generator (120) generates a bounding volume hierarchy representing the approximate...
2 inventors:
- Alan Heirich
Computer scientist and software developer - Axel Mamode
3D Sofware Engineer
Methods and systems for graphically navigating within a debugger program
United States PCT/US2005/031701
Issued March 23, 2006
A method for graphically navigating within a debugger program that enables examination of processing by components of a computing system is provided. In this method, a display of the components is generated that enables navigation to debugging windows of the components. The display and navigation methods may reflect a taxonomic organization of the components with hierarchical and peer...
Parallel pipelined merge engines
United States US 09/264,347
Issued June 22, 2004
An image generator is organized into a plurality of rendering engines, each of which renders an image of a part scene and provides the part image to a merge engine associated with that rendering engine. The image is a part image in that it usually contains less than all of the objects in the image to be rendered. The merge engine merges the part image from its associated rendering engine with the...
- Alan Heirich
Computer scientist and software developer Laurent Moll
Senior Director of Technology at QualcommMark Shand
GooglerBob Horst
CTO, Robotics at AlterG
First-order difference compression for interleaved image data in a high-speed image compositor
United States US 09/264,348
Issued February 4, 2003
An encoder accepts an N byte set of values for each of a plurality of image components, with N being greater than one and, for each N byte set of values, identifies a compressed symbol length, K, wherein K is the smallest integer such that the difference between any two adjacent bytes is expressible in K bits or less, outputs an indication of K and outputs a K bit difference between the byte and...
3 inventors:
Alan Heirich
Computer scientist and software developer- Pankaj Mehra (a Top50 CTO)
SVP&CTO;@Fusion-io, VP&Snr; Fellow@SanDisk Bob Horst
CTO, Robotics at AlterG
Using irradiance textures for photorealistic image generation
United States US 09/264,369
Issued March 19, 2002
An image generator computes a set of light sample points, wherein each light sample point is a point on a light source from a geometric model, and an irradiance image is computed for each light sample point, wherein an irradiance image is a view-dependent image taken with the light sample point being the view point and the light source for the irradiance image. From the irradiance images, the...