Abstract
In this work we propose a parallel graphics pipeline for real-time interactive editing, processing and rendering of smooth surface primitives on the Cell BE. Our approach integrates a special patch-based geometry shader for subdivision surface targeting high-performance single-chip multi-core platforms. We describe a combination of algorithmic, architectural and back-end optimizations that enable us to render smooth subdivision surfaces in real-time and to dynamically deform 3D models represented by subdivision surfaces.
Similar content being viewed by others
References
Bjorck A.: Numerical Methods for Least Squares Problems. SIAM, Philadelphia (1996)
Botsch M.: On linear variational surface deformation methods. IEEE Trans. Visual. Comput. Graph. 14, 213–230 (2007)
Bolz, J., Schröder, P.: Rapid evaluation of catmull-clark subdivision surfacess. In: Proceedings of Web3D ’02: Proceedings of the 7th International Conference on 3D Web Technology 1, pp. 11–17 (2002)
Bolz, J., Schröder, P.: Evaluation of subdivision surfaces on programmable graphics hardware (2004)
Benthin, C., Wald, I., Scherbaum, M., Friedrich, H.: Ray tracing on the cell processor. In: Proceedings of the 2006 IEEE Symposium on Interactive Ray Tracing (2006)
Catmull E., Clark J.: Recursively generated b-spline surfaces on arbitrary topological meshes. Comput. Aided Des. 10, 350–355 (1978)
Crockett, T.W.: Parallel Rendering (1995)
Ellsworth D.: A new algorithm for interactive graphics on multicomputers. IEEE Comput. Graph. Appl. 14(4), 33–40 (1994)
Flachs, B., Asano, S., Dhong, S., Hofstee, P., Gervais, G., Kim, R., Le, T., Liu, P., Leenstra, J., Liberty, J., Mchael, B., Mueller, S., Takahashi, O., Watanabe, Y., Hatakeyama, A., Oh, H., Yano, N.: A streaming processing unit for a cell processor (2005)
Kazakov, M.: Catmull-clark subdivision for geometry shaders. In: AFRIGRAPH ’07: Proceedings of the 5th International Conference on Computer Graphics, Virtual Reality, Visualisation and Interaction in Africa, pp. 77–84. ACM, New York (2007)
Loop C., Schaefer S.: Approximating catmull-clark subdivision surfaces with bicubic patches. ACM Trans. Graph. 27(1), 8:1–8:11 (2008)
Lipman Y., Sorkine O., Alexa M., Cohen-Or D., Levin D., Rössl C., Seidel H.P.: Laplacian framework for interactive mesh editing. Int. J. Shape Model. 11(1), 43–61 (2005)
Machines, I.B.: Cell BE Programming Handbook, vol. 11 (2008)
Manneback P.: Solving irregular sparse linear systems on a multicomputer using the cgnr method. Int. J. High Perform. Comput. Appl. 11, 205–211 (1997)
Molnar S., Cox M., Ellsworth D., Fuchs H.: A sorting classification of parallel rendering. IEEE Comput. Graph. Appl. 14(4), 23–32 (1994)
Minor, B., Fossum, G., To, V.: Cell broadband optimized real time ray caster. In: Proceedings of GPSx. ACM, New York (2005)
Minor, B., Fossum, G., To, V.: Terrain rendering engine (tre). In: IBM Research in http://www.research.ibm.com/cell/whitepapers/TRE.pdf (2006)
Myles A., Ni T., Peters J.: Fast parallel construction of smooth surfaces from meshes with tri/quad/pent facets. Comput. Graph. Forum 27(5), 1365–1372 (2008)
Nageswaran J.M., Felch A., Chandrasekhar A., Dutt N., Granger R., Nicolau A., Veidenbaum A.: Brain derived vision algorithm on high performance architectures. Int. J. Parallel Prog. 37, 345–369 (2009)
NVIDIA: Nvidia gpu programming guide (2006)
Pham, D., Asano, S., Bolliger, M., Day, M.N., Hofstee, H.P., Johns, C., Kahle, J., Kameyama, A., Keaty, J., Masubuchi, Y., Riley, M., Shippy, D., Stasiak, D., Suzuoki, M., Wang, M., Warnock, J., Weitzel, S., Wendel, D., Yamazaki, T., Yazawa, K.: The design and implementation of a first-generation cell processor. In: Solid-State Circuits Conference, 2005. Digest of Technical Papers. ISSCC. 2005 IEEE International. 1, pp. 184–592 (2005)
Padrón, E.J., Amor, M., Bóo, M., Doallo, R.: Efficient parallel implementations for surface subdivision. In: EGPGV ’02: Proceedings of the Fourth Eurographics Workshop on Parallel Graphics and Visualization, pp. 113–121. Eurographics Association, Aire-la-Ville (2002)
Shi G., Kindratenko V., Gottlieb S.: The bottom up implementation of one milc lattice qcd application on the cell blade. Int. J. Parallel Prog. 37, 488–507 (2009)
Sorkine, O., Cohen-Or, D., Lipman, Y., Alexa, M., Rössl, C., Seidel, H.-P.: Laplacian surface editing. In: SGP ’04: Proceedings of the 2004 Eurographics/ACM SIGGRAPH symposium on Geometry processing, pp. 175–184. ACM, New York (2004)
Shiue L.J., Jones I., Peters J.: A realtime gpu subdivision kernel. ACM Trans. Graph. 24(3), 1010–1015 (2005)
Sorkine O.: Differential representations for mesh processing. Comput. Graph. Forum 25(4), 789–807 (2006)
Stam, J.: Exact evaluation of catmull-clark subdivision surfaces at arbitrary parameter values. In: SIGGRAPH ’98: Proceedings of the 25th Annual Conference on Computer Graphics and Interactive Techniques, pp. 395–404. ACM, New York (1998)
Wang, L., Huang, Y., Chen, X., Zhang, C.: Task scheduling of parallel processing in cpu-gpu collaborative environment. In: ICCSIT ’08: Proceedings of the 2008 International Conference on Computer Science and Information Technology, pp. 228–232. IEEE Computer Society, Washington, DC (2008)
Williams, S., Shalf, J., Oliker, L., Kamil, S., Husbands, P., Yelick, K.: The potential of the cell processor for scientific computing. In: CF ’06: Proceedings of the 3rd conference on Computing frontiers, pp. 9–20. ACM, New York (2006)
Yu, Y., Zhou, K., Xu, D., Shi, X., Bao, H., Guo, B., Shum, H.Y.: Mesh editing with poisson-based gradient field manipulation. In: SIGGRAPH ’04: ACM SIGGRAPH 2004 Papers, pp. 644–651. ACM, New York (2004)
Zhou K., Hou Q., Wang R., Guo B.: Real-time kd-tree construction on graphics hardware. ACM Trans. Graph. 27(5), 126:1–126:11 (2008)
Zhou K., Huang X., Xu W., Guo B., Shum H.-Y.: Direct manipulation of subdivision surfaces on gpus. ACM Trans. Graph. 26(3), 91 (2007)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Benini, L., Grottesi, R., Morigi, S. et al. Parallel Rendering and Animation of Subdivision Surfaces on the Cell BE Processor. Int J Parallel Prog 39, 494–521 (2011). https://doi.org/10.1007/s10766-010-0153-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-010-0153-2