Inventors list

Assignees list

Classification tree browser

Top 100 Inventors

Top 100 Assignees


Baining Guo

Baining Guo, Redmond, WA US

Patent application numberDescriptionPublished
20090322769BULK-SYNCHRONOUS GRAPHICS PROCESSING UNIT PROGRAMMING - Described is a technology in a computing environment comprising a programming language for general purpose computation on a graphics processing unit (GPU), along with an associated compiler. A Bulk-Synchronous GPU Programming (BSGP) program is programmed to include barriers to describe parallel processing on GPUs. A BSGP compiler detects barriers corresponding to supersteps, converts BSGP programs to kernels based on the barriers, and combines them. During compilation, the compiler aligns barriers in the statements and bundles the corresponding supersteps together. A par construct is provided to allow the programmer to control aspects of bundling, e.g., by specifying a block independent statements. Thread manipulation emulation is provided to transparently emulate thread creation and destruction, with operations fork and kill. Also provided is remote variable access intrinsics for efficient communications between threads, and collective primitive operations.12-31-2009
20100033482Interactive Relighting of Dynamic Refractive Objects - Dynamic refractive object relighting technique embodiments are presented which involve rendering an image of a refractive object in a dynamic scene by first voxelizing a representation of the surfaces of the object into a volumetric representation in the form of a rectangular voxel grid. A refractive index is assigned to each voxel based on user-input material parameters. Next, the paths of photons are traced in a step-wise manner as each photon refracts through the object. The size of each step forward is variable and based on variations in refractive index of the object. Radiance values are assigned to all the voxels that the photons traverse in their paths through the object. An output image of the refractive object is then rendered from a user-input viewpoint by tracing viewing rays from the viewpoint into the scene and calculating the amount of radiance that reaches the viewpoint along each of the rays.02-11-2010
20100033488Example-Based Motion Detail Enrichment in Real-Time - An approach to enrich skeleton-driven animations with physically-based secondary deformation in real time is described. To achieve this goal, the technique described employs a surface-based deformable model that can interactively emulate the dynamics of both low- and high-frequency volumetric effects. Given a surface mesh and a few sample sequences of its physical behavior, a set of motion parameters of the material are learned during an off-line preprocessing step. The deformable model is then applicable to any given skeleton-driven animation of the surface mesh. Additionally, the described dynamic skinning technique can be entirely implemented on GPUs and executed with great efficiency. Thus, with minimal changes to the conventional graphics pipeline, the technique can drastically enhance the visual experience of skeleton-driven animations by adding secondary deformation in real time.02-11-2010
20100079451RAY TRACING ON GRAPHICS HARDWARE USING KD-TREES - Described is a technology by which a ray tracer incorporates a GPU-based kd-tree builder for rendering arbitrary dynamic scenes. For each frame, the ray tracer builds a kd-tree for the scene geometry. The ray tracer spawns and traces eye rays, reflective and refractive rays, and shadow rays. For each ray to be traced, the ray tracer walks through the kd-tree until it reaches leaf nodes and associated triangles. When a ray passes through both sides of a splitting plane, the “far” sub-tree is pushed into the stack and the “near” sub-tree is traversed first.04-01-2010
20100079452PHOTON MAPPING ON GRAPHICS HARDWARE USING KD-TREES - Described is a technology by which a GPU-based photon mapping mechanism/algorithm uses a kd-tree to render arbitrary dynamic scenes. For each frame, the mechanism emits and traces a set of photons into the scene. When a photon hits a surface, it can either be reflected, transmitted, or absorbed based on the surface material. Once photon tracing is done, a kd-tree is built for the stored photons. To estimate the radiance value at an arbitrary surface point, the k-nearest photons are located and filtered. The photon tracing and photon kd-tree construction, as well as the radiance estimation using k-nearest neighbor (KNN) searches are performed on graphics hardware, e.g., a GPU. In one example, only caustic photons are traced, whereby a photon is terminated and stored once it hits a diffuse surface.04-01-2010
20100082704REAL-TIME KD-TREE CONSTRUCTION ON GRAPHICS HARDWARE - Described is a technology for constructing kd-trees on GPUs, in a manner that is sufficiently fast to achieve real-time performance by exploiting GPU-bsaed parallelism during the kd-tree construction. Tree nodes are built in breadth-first search order, e.g., to use a thread for each node at each level. For large nodes at upper tree levels, computations are parallelized over geometric primitives (instead of nodes). To this end, large nodes are split into child nodes by cutting off empty space based until an empty space ratio is achieved, and thereafter performing spatial splitting. Small nodes are split based on split candidate costs, e.g., computed by a surface area heuristic or a voxel volume heuristic (VVH).04-01-2010
20100277477Modeling Anisotropic Surface Reflectance with Microfacet Synthesis - Described is a search technology in which spatially varying anisotropic reflectance is modeled using image data captured from a single view. Reflectance at each point is represented using a microfacet-based Bidirectional Reflectance Distribution Function (BRDF). Modeling processes the image data, which provides a partial normal distribution function (NDF) for each surface point. The NDF at each selected point is completed by texture synthesis using similar, overlapping partial NDFs from other points. Also described is a scanning device that illuminates a sample surface from a two-dimensional set of light directions using a linear array of LEDs moved over a flat sample.11-04-2010

Baining Guo, Bellevue, WA US

Patent application numberDescriptionPublished
20090219286NON-LINEAR BEAM TRACING FOR COMPUTER GRAPHICS - A non-linear beam tracing technique that supports full non-linear beam tracing effects including multiple reflections and refractions for computer graphics applications. The technique introduces non-linear beam tracing to render non-linear ray tracing effects such as curved mirror reflection, refraction, caustics, and shadows. Beams are allowed to be non-linear where rays within the same beam are not parallel or do not intersect at a single point. Such is the case when a primary beam bounces off of a surface and spawns one or more secondary rays or beams. Secondary beams can be rendered in a similar manner to primary rays or beams via polygon streaming. Beyond smooth ray bundles, the technique can also be applied to incoherent ray bundles which is useful for rendering bump mapped surfaces.09-03-2009
20100082703OCTREE CONSTRUCTION ON GRAPHICS PROCESSING UNITS - An octree GPU construction system and method for constructing a complete octree data structure on a graphics processing unit (GPU). Embodiments of the octree GPU construction system and method first defines a complete octree data structure as forming a complete partition of the 3-D space and including a vertex, edge, face, and node arrays, and neighborhood information. Embodiments of the octree GPU construction system and method input a point cloud and construct a node array. Next, neighboring nodes are computed for each of the nodes in the node arrays by using at least two pre-computed look-up tables (such as a parent look-up table and a child look-up table). Embodiments of the octree GPU construction system and method then use the neighboring nodes and neighborhood information to compute a vertex array, edge array, and face array are computed by determining owner information and self-ownership information based on the neighboring nodes.04-01-2010

Patent applications by Baining Guo, Bellevue, WA US