Progressive CPU Volume Rendering with Sample Accumulation
Abstract
Here, we present a new method for progressive volume rendering by accumulating object-space samples over successively rendered frames. Existing methods for progressive refinement either use image space methods or average pixels over frames, which can blur features or integrate incorrectly with respect to depth. Our approach stores samples along each ray, accumulates new samples each frame into a buffer, and progressively interleaves and integrates these samples. Though this process requires additional memory, it ensures interactivity and is well suited for CPU architectures with large memory and cache. This approach also extends well to distributed rendering in cluster environments. We implement this technique in Intel’s open source OSPRay CPU ray tracing framework and demonstrate that it is particularly useful for rendering volumetric data with costly sampling functions.
- Authors:
-
- Univ. of Utah, Salt Lake City, UT (United States); Intel Corp., Mountain View, CA (United States)
- Intel Corp., Mountain View, CA (United States)
- Univ. of Utah, Salt Lake City, UT (United States)
- Publication Date:
- Research Org.:
- Univ. of Utah, Salt Lake City, UT (United States)
- Sponsoring Org.:
- USDOE National Nuclear Security Administration (NNSA); National Science Foundation (NSF); USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR). Scientific Discovery through Advanced Computing (SciDAC); Intel Parallel Computing Centers
- OSTI Identifier:
- 1756054
- Grant/Contract Number:
- NA0002375; 1314896; SC0007446; SC0010498
- Resource Type:
- Accepted Manuscript
- Journal Name:
- Eurographics Symposium on Parallel Graphics and Visualization
- Additional Journal Information:
- Journal Volume: 2017; Conference: Eurographics Symposium on Parallel Graphics and Visualization (2017), Barcelona (Spain), 12-13 Jun 2017; Journal ID: ISSN 1727-348X
- Publisher:
- The Eurographics Association
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 97 MATHEMATICS AND COMPUTING; Ray Tracing, OSPRay CPU, Rendering Volumetric Data; Computer Graphics; Picture/Image Generation—Display Algorithms
Citation Formats
Usher, Will, Amstutz, Jefferson, Brownlee, Carson, Knoll, Aaron, and Wald, I. Progressive CPU Volume Rendering with Sample Accumulation. United States: N. p., 2017.
Web. doi:10.2312/pgv.20171090.
Usher, Will, Amstutz, Jefferson, Brownlee, Carson, Knoll, Aaron, & Wald, I. Progressive CPU Volume Rendering with Sample Accumulation. United States. https://doi.org/10.2312/pgv.20171090
Usher, Will, Amstutz, Jefferson, Brownlee, Carson, Knoll, Aaron, and Wald, I. Sun .
"Progressive CPU Volume Rendering with Sample Accumulation". United States. https://doi.org/10.2312/pgv.20171090. https://www.osti.gov/servlets/purl/1756054.
@article{osti_1756054,
title = {Progressive CPU Volume Rendering with Sample Accumulation},
author = {Usher, Will and Amstutz, Jefferson and Brownlee, Carson and Knoll, Aaron and Wald, I.},
abstractNote = {Here, we present a new method for progressive volume rendering by accumulating object-space samples over successively rendered frames. Existing methods for progressive refinement either use image space methods or average pixels over frames, which can blur features or integrate incorrectly with respect to depth. Our approach stores samples along each ray, accumulates new samples each frame into a buffer, and progressively interleaves and integrates these samples. Though this process requires additional memory, it ensures interactivity and is well suited for CPU architectures with large memory and cache. This approach also extends well to distributed rendering in cluster environments. We implement this technique in Intel’s open source OSPRay CPU ray tracing framework and demonstrate that it is particularly useful for rendering volumetric data with costly sampling functions.},
doi = {10.2312/pgv.20171090},
journal = {Eurographics Symposium on Parallel Graphics and Visualization},
number = ,
volume = 2017,
place = {United States},
year = {Sun Jan 01 00:00:00 EST 2017},
month = {Sun Jan 01 00:00:00 EST 2017}
}