Moloney, BrendanWeiskopf, DanielMoeller, TorstenStrengert, MagnusJean M. Favre and Luis Paulo Santos and Dirk Reiners2014-01-262014-01-262007978-3-905673-50-01727-348Xhttps://doi.org/10.2312/EGPGV/EGPGV07/045-052We describe a sort-first algorithm for parallel direct volume rendering on GPUs, with the intent of high scalability in regards to both performance and data set size. We explore three novel techniques for estimating the computation time for rendering each pixel, so that we can guarantee a good load balancing regardless of the level of frame-to frame coherence. A bricking technique is used to subdivide the object space, thus allowing each rendering node to load only the bricks of data that are needed to render their respective portions of the image space. This enables us to render data sets larger than an individual GPU's texture memory. We cull bricks that do not contribute to the final image in order to reduce the data that is loaded and provide a coarse method of empty space leaping. We introduce a novel method of eliminating the overhead of generating vertices for the proxy geometry of each brick, by creating a single template of vertices that are used to render all bricks of the same size. Finally, detailed performance measurements document the various aspects of our algorithm.Categories and Subject Descriptors (according to ACM CCS): I.3.2 [Computer Graphics]: Distributed/network graphics I.3.1 [Computer Graphics]: Parallel processingScalable Sort-First Parallel Direct Volume Rendering with Dynamic Load Balancing