EGGH01: SIGGRAPH/Eurographics Workshop on Graphics Hardware 2001
Permanent URI for this collection
Browse
Browsing EGGH01: SIGGRAPH/Eurographics Workshop on Graphics Hardware 2001 by Subject "Color"
Now showing 1 - 7 of 7
Results Per Page
Sort Options
Item Compiling to a VLIW Fragment Pipeline(The Eurographics Association, 2001) Mark, William R.; Proudfoot, Kekoa; Kurt Akeley and Ulrich NeumannThe latest generation of graphics hardware supports fully programmable vertex and pixel/fragment operations, but programming this hardware at a low level is difficult and time consuming. To address this problem, we have developed a complete real-time procedural shading system that compiles a high-level shading language to programmable vertex and fragment hardware, as described in a separate publication. In this paper, we describe in detail the algorithms used by this system to generate and optimize fragment code for NVIDIAs register combiner architecture and show that our compiler generates efficient code. The register combiner architecture has some similarities to WIW CPU architectures, so we compare our compilation algorithms to those described in the literature for VLIW CPU architectures. We also discuss some of the lessons we leamed from building and using this compiler that may be useful to the designers of future programmable graphics hardware.Item The F-Buffer: A Rasterization-Order FIFO Buffer for Multi-Pass Rendering(The Eurographics Association, 2001) Mark, William R.; Proudfoot, Kekoa; Kurt Akeley and Ulrich NeumannMulti-pass rendering is a common method of virtualizing graphics hardware to overcome limited resources. Most current multi-pass rendering techniques use the RGBA framebuffer to store intermediate results between each pass. This method of storing intermediate results makes it difficult to conectly render partially-transparent surfaces, and reduces the performance of shaders that need to preserve more than one intermediate result between passes. We propose an alternative approach to storing intermediate results that solves these problems. This approach stores intermediate colors (or other values) that are generated by a rendering pass in a FIFO buffer as the values exit the fragment pipeline. On a subsequent pass, the contents of the FIFO buffer are fed into the top of the fragment pipeline. We refer to this FIFO buffer as a fragment-stream buffer (or F-buffer), because this approach has the effect of associating intermediate results with particular rasterization fragments, rather than with an (x,y) location in the framebuffer. Implementing an F-buffer requires some changes to current mainstream graphics architectures, but these changes can be minor. We describe the designs pace associated with implementing an F-buffer, and compare the F-buffer to recirculating pipeline designs. We implement F-buffers in the Mesa software renderer, and demonstrate our programmable-shading system running on top of this renderer.Item Incremental and Hierarchical Hilbert Order Edge Equation Polygon Rasterization(The Eurographics Association, 2001) McCool, Michael D.; Wales, Cluis; Moule, Kevin; Kurt Akeley and Ulrich NeumannA rasterization algorithm must efficiently generate pixel fragments from geometric descriptions of primitives. ln order to accomplish per-pixel shading, shading parameters must also be interpolated across the primitive in a perspective-correct manner. lf some of these parameters are to be interpreted in later stages of the pipeline directly or indirectly as texture coordinates, then translating spatial and parametric coherence into temporal coherence will improve texture cache performance. Finally, if framebuffer access is also organized around cached blocks, then organizing rasterization so fragments are generated in block-sequential order will maximize framebuffer cache performance. Hilbert-order rasterization accomplishes these goals, and also permits efficient incrementale valuation of edge and interpolation equations.Item Perlin Noise Pixel Shaders(The Eurographics Association, 2001) Hart, John C.; Kurt Akeley and Ulrich NeumannWhile working on a method for supporting real-time procedural solid texturing, we developed a general purpose multipass pixel shader to generate the Perlin noise function. We implemented this algorithm on SGI workstations using accelerated OpenGL PixelMap and PixelTransfer operations, achieving a rate of 2.5 Hz for a 256x256 image. We also implemented the noise algorithm on the NVidia GeForce2 using register combiners. Our register combiner implementation required 375 passes, but ran at 1.3 Hz. This exercise illustrated a variety of abilities and shortcomings of current graphics hardware. The paper concludes with an exploration of directions for expanding pixel shading hardware to further support iterative multipass pixel-shader applications.Item Real-Time Bump Map Synthesis(The Eurographics Association, 2001) Kautz, Jan; Heidrich, Wolfgang; Seidel, Hans-Peter; Kurt Akeley and Ulrich NeumannIn this paper we present a method that automatically synthesizes bump maps at arbitrary levels of detail in real-time. The only input data we require is a normal density function; the bump map is generated according to that function. It is also used to shade the generated bump map. The technique allows to infinitely zoom into the surface, because more (consistent) detail can be created on the fly. The shading of such a surface is consistent when displayed at different distances to the viewer (assuming that the surface structure is self-similar). The bump map generation and the shading algorithm can also be used separately.Item SPAF: Sub-texel Precision Anisotropic Filtering(The Eurographics Association, 2001) Shin, Hyun-Chul; Lee, Jin-Aeon; Kim, Lee-Sup; Kurt Akeley and Ulrich NeumannTexture mapping is a technique which most effectively improves the realism of computer-generated scenes in 3D Graphics. Trilinear filtering of the mip-mapped textue has been popular as a texture filtering method but it blurs images on the surface of objects angled obliquely away from the viewer in a scene. Various anisotropic filtering methods like footprint assembly, Feline, and fast footprint mip-mapping have been proposed to satisfy the desire for the high quality image [7]. In spite of the increase of the memory bandwidth, tie memory bandwidth limit is still the bottleneck of the texture filtering hardware. Moreover, it is very important to keep the quality of rendered image good. In this paper, we propose Sub-texel Precision Anisonopic Filtering (SPAF) which filters texels in a region that covers a quadrilateral footprint with the weights. The weight plays a key role in effective filtering to render the image of high quality with the restricted number of texels loaded from memory for real-time filtering. First, the area coverage based texel filtering scheme is introduced to obtain the footprint's coverage for each texel on the sub-texel precision leading to the small weight table size. Second, the Gaussian weight is applied to this footprinfs coverage for each texel to reduce the artifacts. Therefore, the quality of rendered images is superior to other anisotropic filtering methods in the same restricted number of texels. And the size ofthis weight table is several hundred KBytes which is much smaller than fast footprint mip-mapping. This small ROM table size enables the SPAF to be implemented at feasible hardware costs.Item Vertex-based Anisotropic Texturing(The Eurographics Association, 2001) Olano, Marc; Mukherjee, Shrijeet; Dorbie, Angus; Kurt Akeley and Ulrich NeumannMIP mapping is a common method used by graphics hardware to avoid texture aliasing. In many situations, MIP mapping over-blurs in one direction to prevent aliasing in another. Anisotropic texturing reduces this blurring by allowing differing degrees of filtering in different directions, but is not as common in hardware due to the implementation complexity of current techniques. We present a new algorithm that enables anisotropic texturing on any current MIP map graphics hardware supporting MIP level biasing, available in OpenGL 7.2 or through the GLEXT-texture-lod-bias or GL-SGIX-texture-lod-bias OpenGL extensions. The new algorithm computes anisotropic filter footprint parameters per vertex. It constructs the anisotropic filter out of several MIP map texturing passes or multitexture lookups. Each lookup uses MIP level bias and perturbed texture coordinates to place one probe used to construct the more complex filter profile.