摘要:
A three dimensional (3D) graphics application programming interface (API) extension provides support for specifying images in a shared exponent format. The shared exponent format is used to represent high dynamic range textures in a compact encoding to reduce the memory footprint needed to store the image data compared with other high dynamic range formats. Image data is encoded to and decoded from the shared exponent format using a pixel processing pipeline. Image data encoded into the shared exponent format can be decoded and used as texture data during rendering.
摘要:
One embodiment of the present invention sets forth a technique for rendering paths by first generating a stencil buffer indicating pixels of the path that should be covered and then covering the path. The paths may be filled or stroked without tessellating the paths. Path rendering may be accelerated when a graphics processing unit or other processor that is configured to perform operations to generate the stencil buffer and cover the path to fill or stroke the path. When the paths are rendered in a top-to-bottom (front-to-back) order, an opacity stencil may be generated and used to avoid determining path coverage and shading for pixels that are opaque.
摘要:
One embodiment of the present invention sets forth a technique for improving antialiasing quality, while minimizing performance degradation, by adaptively selecting between multisampling and supersampling on a per pixel basis. The resulting performance may be generally comparable to multisampling. At the same time, however, the resulting quality may be generally comparable to supersampling. The antialiasing technique disclosed herein determines whether to use multisampling or supersampling on a particular pixel being rendered, based on the specific coverage of the associated geometry primitive. Because many pixel centers are covered by a geometry primitive, a statistical performance advantage is gained when pixels in a rendered image can be generating using multisampling rather than supersampling. The cases where pixel centers are not covered tend to be less frequent, but are very significant to image quality. High image quality is maintained by rendering these cases using supersampling.
摘要:
A system, method and computer program product are provided for buffering data in a computer graphics pipeline. Initially, graphics floating point data is read from a buffer in a graphics pipeline. Next, the graphics floating point data is operated upon in the graphics pipeline. Further, the graphics floating point data is stored to the buffer in the graphics pipeline.
摘要:
One embodiment of the present invention sets forth a technique for improving path rendering on computer systems with an available graphics processing unit. The technique involves reducing complex path objects to simpler geometric objects suitable for rendering on a graphics processing unit. The process involves a central processing unit “baking” a set of complex path rendering objects to generate a set of simpler graphics objects. A graphics processing unit then renders the simpler graphics objects. This division of processing load can advantageously yield higher overall rendering performance.
摘要:
One embodiment of the present invention sets forth a technique for rendering anti-aliased paths by first generating an alpha buffer representing coverage data. To generate the alpha buffer, jittered versions of the rendered path are rendered and corresponding stencil buffers indicating sub-pixel samples of the path that should be covered are generated. After each stencil buffer is generated, the jittered path is rasterized to convert the sub-pixel coverage into coverage weights that are stored in the alpha component of a frame buffer. As each jittered path is rasterized, the coverage weights are accumulated. Finally, geometry representing the union of the jittered versions of the path is rendered to shade pixels based on the accumulated coverage weights. The anti-aliased rendered paths may be filled or stroked without tessellating the paths.
摘要:
One embodiment of the present invention sets forth a technique for rendering paths by first generating a stencil buffer indicating pixels of the path that should be covered and then covering the path. The paths may be filled or stroked without tessellating the paths. Path rendering may be accelerated when a graphics processing unit or other processor that is configured to perform operations to generate the stencil buffer and cover the path to fill or stroke the path. When the paths are rendered in a top-to-bottom (front-to-back) order, an opacity stencil may be generated and used to avoid determining path coverage and shading for pixels that are opaque.
摘要:
One embodiment of the present invention sets forth a technique for performing a computer-implemented method for tessellating patches. An input block is received that defines a plurality of input patch attributes for each patch as well as instructions for processing each input patch. A plurality of threads is launched to execute the instructions to generate each vertex of a corresponding output patch based on the input patch. Reads of values written during instruction execution are synchronized so threads can read and further process the values of other threads. An output patch is then assembled from the outputs of each of the threads; and emitting the output patch for further processing.
摘要:
One embodiment of the present invention sets forth a technique for rendering clipped paths by first generating clip stencil buffer state indicating pixels that are inside of the clip path. The clip stencil buffer state may also store an opacity value for each covered pixel to generate a mask that modulates the opacity of a draw path that is clipped. Clipped draw stencil buffer state is then generated indicating pixels of the draw path that should be covered based on the clip stencil buffer state and coverage of the draw path. The clipped draw path is then filled or stroked to produce the clipped draw path. The clip and draw paths may be filled or stroked without tessellating the paths. Path rendering may be accelerated when a GPU or other processor that is configured to perform operations to generate the clip stencil buffer state and the clipped draw stencil buffer state, and to fill or stroke the clipped draw path.
摘要:
A three dimensional (3D) graphics applications programming interface (API) extension provides support for specifying images in a packed float format. In the packed float format, floating point values of three color components are represented as N bits, where N is less than the total number of bits required for a standard half-precision or full precision format. For example, the blue, green, and red components may each be encoded to have a 5-bit exponent and a 5- or 6-bit mantissa with an implied leading 1. The packed float format is used to represent high dynamic range textures in a compact encoding to reduce the memory footprint needed to store the image data compared with other high dynamic range formats.