Patent application number | Description | Published |
20100253683 | NON-UNIFORM TESSELLATION TECHNIQUE - A non-uniform fractional tessellation technique adapts a tessellation of a base object to the on-screen projection before the domain shader in a graphics processing pipeline executes. The tessellation is adapted in a non-uniform manner such that the distribution of vertices across the surface of the base object is substantially uniform when the base object is projected to screen space. Non-uniform tessellation may be applied to only a portion of the base object, and regular (uniform) tessellation may be applied to the other portion. In such a case, an edge interpolation technique is used to smoothly blend between the non-uniform and uniform portions. | 10-07-2010 |
20110148876 | Compiling for Programmable Culling Unit - During compilation, the interval bounds for a programmable culling unit are calculated if possible. For each variable, interval bounds are calculated during the compilation, and the bounds together with other metadata are used to generate an optimized culling program. If not possible, then an assumption may be made and the assumption used to compile the code. If the assumption proves to be invalid, a new assumption could be made and the code may be recompiled in some embodiments. | 06-23-2011 |
20120075303 | Multi-View Ray Tracing Using Edge Detection and Shader Reuse - A multi-view image may be generated by detecting discontinuities in a radiance function using multi-view silhouette edges. A multi-view silhouette edge is an edge of a triangle that intersects a back tracing plane and, in addition, the triangle faces backwards, as seen from the intersection point, and the edge is not further connected to any back facing triangles. Analytical visibility may be computed between shading points and a camera line and shared shading computations may be reused. | 03-29-2012 |
20120200569 | Micropolygon Splatting - Micropolygon splatting may involve tessellating by subdividing a mesh until triangle edges are shorter than 0.75 pixels. In some cases, rasterizing the primitive may be avoided. | 08-09-2012 |
20120201467 | Stream Compaction for Rasterization - A single instruction multiple data (SIMD) processor with a given width may operate on registers of the same width completely filled with fragments. A parallel set of registers are loaded and tested. The fragments that fail are eliminated and the register set is refilled from the parallel set. | 08-09-2012 |
20120218264 | Hierarchical Motion Blur Rasterization - Motion blur rasterization may involve executing a first test for each plane of a tile frustum. The first test is a frustum plane versus moving bounding box overlap test where planes bounding a moving primitive are overlap tested against a screen tile frustum. According to a second test executed after the first test, for primitive edges against tile corners, the second test is a tile corner versus moving edge overlap test. The corners of the screen space tile are tested against a moving triangle edge in two-dimensional homogeneous space. | 08-30-2012 |
20120274636 | Depth of Field Rasterization - Depth of field may be rasterized by culling half-space regions on a lens from which a triangle to be rendered is not visible. Then, inside tests are only performed on the remaining unculled half-space regions. Separating planes between the triangle to be rendered and the tile being processed can be used to define the half-space regions. | 11-01-2012 |
20130250060 | Depth Buffer Compression for Stochastic Motion Blur Rasterization - A depth buffer compression scheme uses bilinear patches as a predictor for depth. The scheme targets compression of scenes rendered with stochastic blur rasterization. A tile of fragments may be split into two or more regions and a higher-degree function may be fit to each region. The residuals are then stored as delta corrections. | 09-26-2013 |
20130268569 | SELECTING A TILE SIZE FOR THE COMPRESSION OF DEPTH AND/OR COLOR DATA - In accordance with some embodiments, depth and/or color data may be compressed by selecting one of at least two different tile sizes based on considerations of storage requirements and average number of samples per tile. | 10-10-2013 |
20140085300 | Stochastic Depth Buffer Compression Using Generalized Plane Encoding - Unlike a static primitive, where the depth function is planar, the depth function for a moving and defocused triangle is a rational function in time and the lens parameters. Compact depth functions can be used to design an efficient depth buffer compressor/decompressor, which significantly lowers total depth buffer bandwidth usage. In addition, this compressor/decompressor is substantially simpler in the number of operations needed to execute, which makes it more amenable for hardware implementation than previous methods. | 03-27-2014 |
20140132596 | Culling Using Linear Bounds for Stochastic Rasterization - We present a new culling test for rasterization of simultaneous depth of field and motion blur, which efficiently reduces the set of (x, y, u, v, t) samples that need to be coverage tested within a screen space tile. The test finds linear bounds in u, t space and v, t space respectively, using a separating line algorithm. This test is part of the foundation for an efficient 5D rasterizer that extracts coherence in both defocus and motion blur to minimize the number of visibility tests. | 05-15-2014 |
20140258754 | Reducing Power Consumption During Graphics Rendering - In accordance with some embodiments, the knowledge that a capped frame time is used can be exploited to reduce power consumption. Generally a capped frame time is a pre-allocated amount of time to apply power for rendering in graphics processing. Generally the frame time involves the application of power and some down time in which only idle power is applied pending the next frame time. By making better use of that down time, power consumption reductions can be achieved in some embodiments. | 09-11-2014 |
20140300619 | Programmable Tile Shader - In accordance with some embodiments, a tile shader executes on a group of pixels prior to a pixel shader. The tile of pixels may be rectangular in some embodiments. The tile may be executed hierarchically, refining each tile into smaller subtiles until the pixel or sample level is reached. The tile shader program can be written to discard groups of pixels, thereby quickly removing areas of the bounding triangles that lie outside the shape being rasterized or quickly discarding groups of pixel shader executions that will not contribute to the final image. | 10-09-2014 |
20140313194 | Culling for Higher-Order Motion Blur Rasterization - Efficient overlap tests between a screen space tile and a moving triangle with per-vertex motion following Bézier curves report conservative time bounds in which the moving triangle overlaps with a tile. The tests can be used in designing efficient hierarchical traversal algorithms for higher order motion blur rendering. | 10-23-2014 |
20140313211 | Color Buffer Compression - In accordance with some embodiments, a mask or table may be maintained to record information about whether or not each pixel within a tile is cleared. As used herein, a “cleared” tile is one that is not covered by any other depicted objects. The clear mask may store a bit per pixel or sample to indicate whether the pixel or sample contains a color value or whether it is cleared. As a result, the compression ratio may be increased for partially covered tiles in some embodiments. | 10-23-2014 |
20140340414 | Caching For Reduced Depth And/Or Color Buffer Bandwidth - In accordance with some embodiments, caching may be improved for tiles on shared edges between triangles. In some embodiments, the technique may be used for either color and depth caches or both caches. | 11-20-2014 |
20140375665 | SUBSET BASED COMPRESSION AND DECOMPRESSION OF GRAPHICS DATA - Techniques related to graphics rendering including techniques for compression and/or decompression of graphics data by use of indexed subsets are described. | 12-25-2014 |
20140375666 | COMPRESSION AND DECOMPRESSION OF GRAPHICS DATA USING PIXEL REGION BIT VALUES - Techniques related to graphics rendering including techniques for compression and/or decompression of graphics data by use of pixel region bit values are described. | 12-25-2014 |
20150022532 | Hierarchical Motion Blur Rasterization - Motion blur rasterization may involve executing a first test for each plane of a tile frustum. The first test is a frustum plane versus moving bounding box overlap test where planes bounding a moving primitive are overlap tested against a screen tile frustum. According to a second test executed after the first test, for primitive edges against tile corners, the second test is a tile corner versus moving edge overlap test. The corners of the screen space tile are tested against a moving triangle edge in two-dimensional homogeneous space. | 01-22-2015 |