Scalable Programmable Motion Effects on GPUs
Abstract
We present an efficient and scalable system that enables programmable motion effects on GPUs. Our system is based on the framework proposed by Schmid et al. [SSBG10] that extends the concept of a surface shader to that of a programmable motion effect. While capable of expressing a variety of motion depiction styles, the execution of motion effect programs requires global knowledge about all portions of an object's surface that passes in front of a pixel during an arbitrarily long period of time, resulting in extremely high memory usage and significantly restricting the degree of parallelism of typical GPU rendering algorithms that parallelize computations over pixels in each frame of animations. To address this problem, we design our system to process multiple frames of a pixel in parallel. This new parallelization approach enables better utilization of GPU memory and also makes it possible to design an efficient out-of-core algorithm required in rendering real-world animations. We also develop an analytical visibility algorithm to resolve depth conflicts of objects, reducing the required temporal resampling rate and further exposing parallelism. Experiments show that we are able to handle very large scenes and improve runtime performance up to an order of magnitude.
BibTeX
@article {10.1111:j.1467-8659.2012.03219.x,
journal = {Computer Graphics Forum},
title = {{Scalable Programmable Motion Effects on GPUs}},
author = {Huang, Xuezhen and Hou, Qiming and Ren, Zhong and Zhou, Kun},
year = {2012},
publisher = {The Eurographics Association and Blackwell Publishing Ltd.},
ISSN = {1467-8659},
DOI = {10.1111/j.1467-8659.2012.03219.x}
}
journal = {Computer Graphics Forum},
title = {{Scalable Programmable Motion Effects on GPUs}},
author = {Huang, Xuezhen and Hou, Qiming and Ren, Zhong and Zhou, Kun},
year = {2012},
publisher = {The Eurographics Association and Blackwell Publishing Ltd.},
ISSN = {1467-8659},
DOI = {10.1111/j.1467-8659.2012.03219.x}
}