189 research outputs found
ArborX: A Performance Portable Geometric Search Library
Searching for geometric objects that are close in space is a fundamental
component of many applications. The performance of search algorithms comes to
the forefront as the size of a problem increases both in terms of total object
count as well as in the total number of search queries performed. Scientific
applications requiring modern leadership-class supercomputers also pose an
additional requirement of performance portability, i.e. being able to
efficiently utilize a variety of hardware architectures. In this paper, we
introduce a new open-source C++ search library, ArborX, which we have designed
for modern supercomputing architectures. We examine scalable search algorithms
with a focus on performance, including a highly efficient parallel bounding
volume hierarchy implementation, and propose a flexible interface making it
easy to integrate with existing applications. We demonstrate the performance
portability of ArborX on multi-core CPUs and GPUs, and compare it to the
state-of-the-art libraries such as Boost.Geometry.Index and nanoflann
Interactive isosurface ray tracing of time-varying tetrahedral volumes
Journal ArticleAbstract- We describe a system for interactively rendering isosurfaces of tetrahedral finite-element scalar fields using coherent ray tracing techniques on the CPU. By employing state-of-the art methods in polygonal ray tracing, namely aggressive packet/frustum traversal of a bounding volume hierarchy, we can accomodate large and time-varying unstructured data. In conjunction with this efficiency structure, we introduce a novel technique for intersecting ray packets with tetrahedral primitives. Ray tracing is flexible, allowing for dynamic changes in isovalue and time step, visualization of multiple isosurfaces, shadows, and depth-peeling transparency effects. The resulting system offers the intuitive simplicity of isosurfacing, guaranteed-correct visual results, and ultimately a scalable, dynamic and consistently interactive solution for visualizing unstructured volumes
Doctor of Philosophy
dissertationThis dissertation explores three key facets of software algorithms for custom hardware ray tracing: primitive intersection, shading, and acceleration structure construction. For the first, primitive intersection, we show how nearly all of the existing direct three-dimensional (3D) ray-triangle intersection tests are mathematically equivalent. Based on this, a genetic algorithm can automatically tune a ray-triangle intersection test for maximum speed on a particular architecture. We also analyze the components of the intersection test to determine how much floating point precision is required and design a numerically robust intersection algorithm. Next, for shading, we deconstruct Perlin noise into its basic parts and show how these can be modified to produce a gradient noise algorithm that improves the visual appearance. This improved algorithm serves as the basis for a hardware noise unit. Lastly, we show how an existing bounding volume hierarchy can be postprocessed using tree rotations to further reduce the expected cost to traverse a ray through it. This postprocessing also serves as the basis for an efficient update algorithm for animated geometry. Together, these contributions should improve the efficiency of both software- and hardware-based ray tracers
Synchronized-tracing of implicit surfaces
Implicit surfaces are known for their ability to represent smooth objects of
arbitrary topology thanks to hierarchical combinations of primitives using a
structure called a blobtree. We present a new tile-based rendering pipeline
well suited for modeling scenarios, i.e., no preprocessing is required when
primitive parameters are updated. When using approximate signed distance
fields, we rely on compact, smooth CSG operators - extended from standard
bounded operators - to compute a tight volume of interest for all primitives of
the blobtree. The pipeline relies on a low-resolution A-buffer storing the
primitives of interest of a given screen tile. The A-buffer is then used during
ray processing to synchronize threads within a subfrustum. This allows coherent
field evaluation within workgroups. We use a sparse bottom-up tree traversal to
prune the blobtree on-the-fly which allows us to decorrelate field evaluation
complexity from the full blobtree size. The ray processing itself is done using
the sphere-tracing algorithm. The pipeline scales well to surfaces consisting
of thousands of primitives
Robust arbitrary view gait recognition based on parametric 3D human body reconstruction and virtual posture synthesis
This paper proposes an arbitrary view gait recognition method where the gait recognition is performed in 3-dimensional (3D) to be robust to variation in speed, inclined plane and clothing, and in the presence of a carried item. 3D parametric gait models in a gait period are reconstructed by an optimized 3D human pose, shape and simulated clothes estimation method using multiview gait silhouettes. The gait estimation involves morphing a new subject with constant semantic constraints using silhouette cost function as observations. Using a clothes-independent 3D parametric gait model reconstruction method, gait models of different subjects with various postures in a cycle are obtained and used as galleries to construct 3D gait dictionary. Using a carrying-items posture synthesized model, virtual gait models with different carrying-items postures are synthesized to further construct an over-complete 3D gait dictionary. A self-occlusion optimized simultaneous sparse representation model is also introduced to achieve high robustness in limited gait frames. Experimental analyses on CASIA B dataset and CMU MoBo dataset show a significant performance gain in terms of accuracy and robustness
- …