Skip to main content
Log in

Parallel Rendering and Animation of Subdivision Surfaces on the Cell BE Processor

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bjorck A.: Numerical Methods for Least Squares Problems. SIAM, Philadelphia (1996)

    Google Scholar 

  2. Botsch M.: On linear variational surface deformation methods. IEEE Trans. Visual. Comput. Graph. 14, 213–230 (2007)

    Article  Google Scholar 

  3. 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)

  4. Bolz, J., Schröder, P.: Evaluation of subdivision surfaces on programmable graphics hardware (2004)

  5. 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)

  6. Catmull E., Clark J.: Recursively generated b-spline surfaces on arbitrary topological meshes. Comput. Aided Des. 10, 350–355 (1978)

    Article  Google Scholar 

  7. Crockett, T.W.: Parallel Rendering (1995)

  8. Ellsworth D.: A new algorithm for interactive graphics on multicomputers. IEEE Comput. Graph. Appl. 14(4), 33–40 (1994)

    Article  Google Scholar 

  9. 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)

  10. 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)

  11. Loop C., Schaefer S.: Approximating catmull-clark subdivision surfaces with bicubic patches. ACM Trans. Graph. 27(1), 8:1–8:11 (2008)

    Article  Google Scholar 

  12. 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)

    Article  Google Scholar 

  13. Machines, I.B.: Cell BE Programming Handbook, vol. 11 (2008)

  14. Manneback P.: Solving irregular sparse linear systems on a multicomputer using the cgnr method. Int. J. High Perform. Comput. Appl. 11, 205–211 (1997)

    Article  Google Scholar 

  15. Molnar S., Cox M., Ellsworth D., Fuchs H.: A sorting classification of parallel rendering. IEEE Comput. Graph. Appl. 14(4), 23–32 (1994)

    Article  Google Scholar 

  16. Minor, B., Fossum, G., To, V.: Cell broadband optimized real time ray caster. In: Proceedings of GPSx. ACM, New York (2005)

  17. Minor, B., Fossum, G., To, V.: Terrain rendering engine (tre). In: IBM Research in http://www.research.ibm.com/cell/whitepapers/TRE.pdf (2006)

  18. 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)

    Article  Google Scholar 

  19. 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)

    Article  MATH  Google Scholar 

  20. NVIDIA: Nvidia gpu programming guide (2006)

  21. 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)

  22. 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)

  23. 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)

    Article  MATH  Google Scholar 

  24. 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)

  25. Shiue L.J., Jones I., Peters J.: A realtime gpu subdivision kernel. ACM Trans. Graph. 24(3), 1010–1015 (2005)

    Article  Google Scholar 

  26. Sorkine O.: Differential representations for mesh processing. Comput. Graph. Forum 25(4), 789–807 (2006)

    Article  Google Scholar 

  27. 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)

  28. 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)

  29. 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)

  30. 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)

  31. 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)

    Article  Google Scholar 

  32. 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)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to S. Morigi.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-010-0153-2

Keywords

Navigation