|
Random-access rendering of general vector graphics
Nehab, D.;
Hoppe,
H. Previously Microsoft Research Technical Report MSR-TR-2007-95, July 2007 | |
|
Abstract: We introduce a novel representation for random-access rendering of antialiased vector graphics on the GPU, along with efficient encoding and rendering algorithms. The representation supports a broad class of vector primitives, including multiple layers of semitransparent filled and stroked shapes, with quadratic outlines and color gradients. Our approach is to create a coarse lattice in which each cell contains a variable-length encoding of the graphics primitives it overlaps. These cell-specialized encodings are interpreted at runtime within a pixel shader. Advantages include localized memory access and the ability to map vector graphics onto arbitrary surfaces, or under arbitrary deformations. Most importantly, we perform both prefiltering and supersampling within a single pixel shader invocation, achieving inter-primitive antialiasing at no added memory bandwidth cost. We present an efficient encoding algorithm, and demonstrate high-quality realtime rendering of complex, real-world examples. Files: paper [pdf], presentation [pptx], technical report [pdf], demo [zip] |
|
Efficient traversal of mesh edges using adjacency primitives
Sander, P. V.;
Nehab, D.;
Chlamtac, E.;
Hoppe, H. | |
|
Abstract: Processing of mesh edges lies at the core of many advanced realtime rendering techniques, ranging from shadow and silhouette computations, to motion blur and fur rendering. We present a scheme for efficient traversal of mesh edges that builds on the adjacency primitives and programmable geometry shaders introduced in recent graphics hardware. Our scheme aims to minimize the number of primitives while maximizing SIMD parallelism. These objectives reduce to a set of discrete optimization problems on the dual graph of the mesh, and we develop practical solutions to these graph problems. In addition, we extend two existing vertex cache optimization algorithms to produce cache-efficient traversal orderings for adjacency primitives. We demonstrate significant runtime speedups for several practical real-time rendering algorithms. Files: paper [pdf] |
|
Automated reprojection-based pixel shader optimization
Sitthi-amorn, P.;
Lawrence, J. D.;
Yang, L.;
Sander, P. V.;
Nehab, D.;
Xi, J. | |
|
Abstract: We present a framework and supporting algorithms to automate the use of data reprojection as a general tool for optimizing procedural shaders. Although the general strategy of caching and reusing expensive intermediate shading calculations across consecutive frames has previously been shown to provide an effective trade-off between speed and accuracy, the critical choices of what to reuse and at what rate to refresh cached entries have been left to a designer. The fact that these decisions require a deep understanding of a procedure's semantic structure makes it challenging to select optimal candidates among possibly hundreds of alternatives. Our automated approach relies on parametric models of the way possible caching decisions affect the shader's performance and visual fidelity. These models are trained using a sample rendering session and drive an interactive profiler in which the user can explore the error/performance trade-offs associated with incorporating temporal reprojection. We evaluate the proposed models and selection algorithm with a prototype system used to optimize several complex shaders and compare our approach to current alternatives. Files: paper [pdf] |
|
Brown, B.;
Toler-Franklin, C.;
Nehab, D.;
Burns, M.;
Dobkin, D.;
Vlachopoulos, A.; Doumas, C.;
Weyrich, T.;
Rusinkiewicz, S. | |
|
Abstract: Although mature technologies exist for acquiring images, geometry, and normals of small objects, they remain cumbersome and time-consuming for non-experts to employ on a large scale. In an archaeological setting, a practical acquisition system for routine use on every artifact and fragment would open new possibilities for archiving, analysis, and dissemination. We present an inexpensive system for acquiring all three types of information, and associated metadata, for small objects such as fragments of wall paintings. The acquisition system requires minimal supervision, so that a single, non-expert user can scan at least 10 fragments per hour. To achieve this performance, we introduce new algorithms to robustly and automatically align range scans, register 2-D scans to 3-D geometry, and compute normals from 2-D scans. As an illustrative application, we present a novel 3-D matching algorithm that efficiently searches for matching fragments using the scanned geometry. Files: paper [pdf] |
|
Dense 3D Reconstruction from Specularity Consistency
Nehab, D.;
Weyrich, T.;
Rusinkiewicz, S. | |
|
Abstract: In this work, we consider the dense reconstruction of glossy objects. We propose the use of a specularity constraint, based on surface normal consistency, to define a matching cost function that can drive standard stereo reconstruction methods. We also present an aggregation method based on anisotropic diffusion that is particularly suitable for this matching cost function. Following a theoretical discussion on the types of ambiguity that can arise from the proposed constraint, we present a controlled illumination setup that includes a stereo camera pair, and one LCD monitor used as a calibrated, variable-position light source. We then use the setup to evaluate the proposed method on real and synthetic data, and demonstrate its capacity to recover high-quality depth and orientation from specular objects. Files: paper [pdf] |
|
An Improved Shading Cache for Modern GPUs
Sitthi-amorn, P.;
Lawrence, J. D.;
Yang, L.;
Sander, P. V.;
Nehab, D. | |
|
Abstract: Several recently proposed techniques based on the principle of data reprojection allow reusing shading information generated in one frame to accelerate the calculation of the shading in the following frame. This strategy can significantly reduce the average rendering cost for many important real-time effects at an acceptable level of approximation error. This paper analyzes the overhead associated with incorporating temporal data reprojection on modern GPUs. Based on this analysis, we propose an alternative algorithm to those previously described in the literature and measure its efficiency for multiple scenes and hardware platforms. Files: paper [pdf] |
|
Accelerating Real-Time Shading with Reverse Reprojection Caching
Nehab, D.;
Sander, P. V.;
Lawrence, J. D.;
Tatarchuk, N.,
Isidoro, J. R. | |
|
Abstract: Evaluating pixel shaders consumes a growing share of the computational budget for real-time applications. How- ever, the significant temporal coherence in visible surface regions, lighting conditions, and camera location al- lows reusing computationally-intensive shading calculations between frames to achieve significant performance improvements at little degradation in visual quality. This paper investigates a caching scheme based on reverse reprojection which allows pixel shaders to store and reuse calculations performed at visible surface points. We provide guidelines to help programmers select appropriate values to cache and present several policies for keeping cached entries up-to-date. Our results confirm this approach offers substantial performance gains for many com- mon real-time effects, including precomputed global lighting effects, stereoscopic rendering, motion blur, depth of field, and shadow mapping. Files: paper [pdf], presentation [ppt], siggraph'06 sketch [pdf], technical report [pdf] |
|
Fast Triangle Reordering for Vertex Locality and Reduced Overdraw
Sander, P. V.;
Nehab, D.;
Barczak, J. | |
|
Abstract: We present novel algorithms that optimize the order in which triangles are rendered, to improve post-transform vertex cache efficiency as well as for view-independent overdraw reduction. The resulting triangle orders perform on par with previous methods, but are orders magnitude faster to compute. The improvements in processing speed allow us to perform the optimization right after a model is loaded, when more information on the host hardware is available. This allows our vertex cache optimization to often outperform other methods. In fact, our algorithms can even be executed interactively, allowing for re-optimization in case of changes to geometry or topology, which happen often in CAD/CAM applications. We believe that most real-time rendering applications will immediately benefit from these new results. |
|
Triangle Order Optimization for Graphics Hardware Computation Culling
Nehab, D.;
Barczak, J.;
Sander, P. V.
Released as ATI Tootle library | |
|
Abstract: We describe an automatic preprocessing algorithm that reorders triangles in a mesh so as to enable the graphics hardware to efficiently cull vertex and pixel processing at rendering time. Our method starts by dividing the mesh into planar clusters which are subsequently sorted into a view-independent order which greatly reduces overdraw. The result is an increase in the opportunities for early Z-culling, reducing pixel processing time. The clusters are then optimized for mesh locality. This produces high rates of vertex cache hits, reducing vertex processing time. We have found that our method brings the overdraw rates of a wide range of models close to that of front-to-back order, while preserving state of the art vertex cache performance. This results in higher frame-rates for pixel bound applications with no penalty to vertex-bound applications. Files: paper [pdf], ati tootle [homepage], siggraph'06 reprise [pdf] |
|
Improved Sub-pixel Stereo Correspondences through Symmetric Refinement
Nehab, D.;
Rusinkiewicz, S.;
Davis, J. | |
|
Abstract: Most dense stereo correspondence algorithms start by establishing discrete pixel matches and later refine these matches to sub-pixel precision. Traditional sub-pixel refinement methods attempt to determine the precise location of points, in the secondary image, that correspond to discrete positions in the reference image. We show that this strategy can lead to a systematic bias associated with the violation of the general symmetry of matching cost functions. This bias produces random or coherent noise in the final reconstruction, but can be avoided by refining both image coordinates simultaneously, in a symmetric way. We demonstrate that the symmetric sub-pixel refinement strategy results in more accurate correspondences by avoiding bias while preserving detail.
Files:
paper [pdf] |
|
Efficiently Combining Positions and Normals for Precise 3D Geometry
Nehab, D.;
Rusinkiewicz, S.;
Davis, J.;
Ramamoorthi, R. | |
|
Abstract: Range scanning, manual 3D editing, and other modeling approaches can provide information about the geometry of surfaces in the form of either 3D positions (e.g., triangle meshes or range images) or orientations (normal maps or bump maps). We present an algorithm that combines these two kinds of estimates to produce a new surface that approximates both. Our formulation is linear, allowing it to operate efficiently on complex meshes commonly used in graphics. It also treats high- and low-frequency components separately, allowing it to optimally combine outputs from data sources such as stereo triangulation and photometric stereo, which have different error-vs.-frequency characteristics. We demonstrate the ability of our technique to both recover high-frequency details and avoid low-frequency bias, producing surfaces that are more widely applicable than position or orientation data alone.
Files:
paper [pdf],
presentation [ppt],
implementation [html] |
|
Spacetime Stereo: A Unifying Framework for Depth from Triangulation
Davis, J.; Nehab, D.;
Ramamoorthi, R.;
Rusinkiewicz, S. | |
|
Abstract: Depth from triangulation has traditionally been investigated in a number of independent threads of research, with methods such as stereo, laser scanning, and coded structured light considered separately. In this paper, we propose a common framework called spacetime stereo that unifies and generalizes many of these previous methods. Viewing specific techniques as special cases of this general framework leads to insights regarding solutions to many of the traditional problems of individual techniques. Specifically, we discuss a number of possible applications such as improved recovery of static scenes under variable illumination, spacetime stereo for moving objects, structured light and laser scanning with multiple simultaneous stripes or patterns, and laser scanning of shiny objects. To suggest the practical utility of the framework, we use it to analyze two of these applications - recovery of static scenes under variable, but uncontrolled and unstructured illumination, and depth estimation in dynamic scenes. Based on our analysis, we show that methods derived from the spacetime stereo framework can be used to recover depth in situations in which existing methods perform poorly. |
|
Stratified Point Sampling of 3D Models
Nehab, D.;
Shilane, P. | |
|
Abstract: Point sampling is an important intermediate step for a variety of computer graphics applications, and specialized sampling strategies have been developed to satisfy the requirements of each problem. In this article, we present a technique to generate a stratified sampling of 3D models that is applicable across many domains. The algorithm voxelizes the model and selects one sample per voxel, restricted to the original model's surface. Parameters allow control of the uniformity of the sample placement and the minimum distance between samples. We demonstrate the effectiveness of this technique in selecting stroke locations for painterly rendering models and for producing sampled geometry used as input to shape descriptors. Files: paper [pdf] |
|
Schemata Theory for the Real Coding and Arithmetical Operators
Nehab, D.;
Pacheco,
M. A. C. | |
|
Abstract: The Schemata Theory analyzes the effect of the selection process, mutation and crossover over the number of individuals that belong to a given schema, within generations. This analysis considers, in it's original form, the binary coding and operators. In this article, we present an analogous study, focusing on the real number coding and arithmetical operators. Unfortunately, the conventional schema definition is tightly dependent on discrete alphabets. Therefore, following a generalization of the concept of schema, we present a particular definition that suits better the continuous domain. Using this new definition, we reach an expression similar to the Fundamental Theorem of Genetic Algorithms, valid for the real coding of chromosomes. Files: paper [pdf] |
|
Multiscale Moment-Based Painterly Rendering
Nehab, D.;
Velho, L. | |
|
Abstract: In this paper we present a new method for painterly rendering of images. Our method extends the image-moment stroke placement algorithm in two ways: we employ a multiscale scheme for computing strokes and we provide a parametrized mechanism for controlling stroke distribution. In addition, we present a specialized image abstraction for the algorithm. Files: paper [pdf] |
|
A linguagem de programação Sloth
Nehab, D.;
Ierusalimschy, R. | |
|
Abstract:
Sloth is a simple, easy to learn, non-strict, purely functional programming
language, designed to be a test bed for research on the compilation of
functional programming languages. Its hybrid architecture innovates on the
different programming languages chosen for its construction and resulted in
the creation of a concise, self contained and portable implementation. This
article introduces Sloth as a programming language, describes part of the
research work currently taking advantage of the system and details its
implementation, about to be completed.
Files: paper [pdf] (Portuguese) |
|
Nehab, D.;
Gattass, M. | |
|
Abstract: Edge detection and image segmentation algorithms usually operate on an image to extract geometrical information based on pixel colors. For ray-traced images, the presence of geometrical information on the scene from which the image was rendered allows for a completely different approach. We present an algorithm that divides rays into equivalence classes, or categories. The category information is generated during the rendering process and used to determine edges in the resulting image. Detected edges can later be used to help determine areas subject to aliasing. Little effort is needed to implement the described algorithms over an existing ray-tracer. Furthermore, the extra computational and memory requirements are modest. Files: paper [pdf] |