Please wait a minute...
J4  2012, Vol. 46 Issue (7): 1301-1306    DOI: 10.3785/j.issn.1008-973X.2012.07.023
    
CUDA based shadow volume algorithm for subdivision surfaces
ZHAO Jie-yi, TANG Min, TONG Ruo-feng
College of Computer Science and Technology, Zhejiang University, Hangzhou 310027, China
Download:   PDF(0KB) HTML
Export: BibTeX | EndNote (RIS)      

Abstract  

 A new GPU based shadow volume generation algorithm based on CUDA structure was proposed for fast generation and real-time rendering of shadow of subdivision surfaces in computer games and virtual reality applications. The algorithm introduces CUDA-based surface subdivision algorithm. Generation of surface subdivisions can run faster by using shared memory structure.  CUDA-based shadow volume algorithm was introduced to generate the shadow silhouette line and extrude the shadow volume. CUDA-based stream reduction algorithm was introduced to reduce the shadow volume array. An optimized interoperation between CUDA and OPENGL was introduced to simplify the rendering step of the algorithm from three steps to two steps. Implemented on a standard PC with CUDA hardware, experiments show that the algorithm can generate the shadow volume of more complex subdivision surfaces compared with former GPU-based ones. The algorithm needs smaller video memory for the shadow volume array to less than 2%, and the rendering performance can gain acceleration up to more than four times.



Published: 01 July 2012
CLC:  TP 391.7  
Cite this article:

ZHAO Jie-yi, TANG Min, TONG Ruo-feng. CUDA based shadow volume algorithm for subdivision surfaces. J4, 2012, 46(7): 1301-1306.

URL:

http://www.zjujournals.com/eng/10.3785/j.issn.1008-973X.2012.07.023     OR     http://www.zjujournals.com/eng/Y2012/V46/I7/1301


基于CUDA的细分曲面阴影体算法

为了在虚拟现实、电脑游戏等图形应用中更快速生成和实时绘制细分曲面的阴影,提出采用CUDA架构的GPU阴影体生成算法.该算法采用基于CUDA的曲面细分算法,通过CUDA共享内存结构使表面细分过程更加高效.采用基于CUDA的阴影体算法产生阴影轮廓线以及拉伸出阴影体.通过基于CUDA的流式缩减算法对阴影体数组进行压缩.通过优化CUDA和OpenGL的互操作,将绘制过程从以往算法的3步减少为2步.该算法在具有CUDA硬件的标准PC上进行测试.实验结果表明,与之前的GPU的算法相比,该算法可以生成更复杂细分曲面的阴影体,阴影体数组占用显存空间降低到2%以下,并可获得高达4倍的绘制速度提升.

[1] 唐敏,童若锋,董金祥. 基于GPU的曲面自适应细分[J]. 浙江大学学报:工学版,2008, 42(7): 1145-1149.
TANG Min, TONG Ruofeng, DONG Jinxiang. Graphics processing units based adaptive subdivision [J]. Journal of Zhejiang University: Engineering Science, 2008, 42(7) : 1145-1149.
[2] SHIUE L J, JONES I, PETERS J. A realtime GPU subdivision kernel [J]. ACM Transactions on Graphics (TOG), 2005, 24(3):1010-1015.
[3] SCHWARZ M, STAMMINGER M. Fast GPUbased adaptive tessellation with CUDA [J]. Computer Graphics Forum, 2009, 28(2): 365-374.
[4] WILLIAMS L. Casting curved shadows on curved surfaces [J]. ACM SIGGRAPH Computer Graphics, 1978, 12(3): 270-274.
[5] CROW F C. Shadow algorithms for computer graphics [J]. ACM SIGGRAPH Computer Graphics, 1977, 11(2): 242-248.
[6] EVERITT C, KILGARD M. Practical and robust stencil shadow volumes for hardware accelerated rendering [R]. Austin: NVIDIA Corporation, 2002.
[7] BRABEC S, SEIDEL H. Shadow volumes on programmable graphics hardware [J]. Computer Graphics Forum, 2003, 22(3): 433-440.
[8] TANG M, DONG J X. Geometry imagebased shadow volume algorithm for subdivision surfaces [C]∥Computer Graphics International. Petrópolis, Brazil: [s.n.], 2007: 21-28.
[9] TANG M, DONG J X, CHOU S C. Realtime shadow volumes for subdivision surface based models [C]∥Computer Graphics International. Hangzhou: [s.n.], 2006: 538-545.
[10] KIRK D. Nvidia CUDA software and GPU parallel computing architecture[C]∥The 6th International Symposium on Memory Management. New York: ACM, 2007.
[11] BLELLOCH G. Prefix sums and their applications [R]. Pittsburgh: Carnegie Mellon University, 1990.
[12] HORN D. Stream reduction operations for GPGPU applications [M]. [S.l.]: Wesley, 2005: 573-589.
[13] CLARA S. NVIDIA CUDA programming guide [M]. Santa Clara: NVIDIA, 2010.
[14] CHRIS K. DirectX 11: learn the latest tricks [C]∥ ACM SIGGRAPH ASIA. New York: ACM, 2010.
[15] STONE J, GOHARA D, SHI G. OpenCL: a parallel programming standard for heterogeneous computing systems [J]. Computing in Science and Engineering, 2010, 12(3): 66-73.

[1] SHEN Ye, LI Min-dan, XIA Shun-ren. Learning algorithm with non-balanced data for computer-aided
diagnosis of breast cancer
[J]. J4, 2013, 47(1): 1-7.
[2] SHEN Ye, LI Min-dan, XIA Shun-ren. Learning algorithm with non-balanced data for computer-aided
diagnosis of breast cancer
[J]. J4, 2013, 47(1): 1-7.
[3] XU Jin, ZHANG Shu-you, FEI Shao-mei. Product remanufacture disassembly planning based on
adaptive particle swarm optimization algorithm
[J]. J4, 2011, 45(10): 1746-1752.
[4] JIE Li-Jun, WANG Pan-Ni, ZHANG Shuai. Modified PSO method for automating transfer function designing
in volume rendering
[J]. J4, 2010, 44(8): 1466-1472.
[5] MA Jin, Li-Feng, LI Jian-Hua. Perturbation method for distributed privacy-preserving data mining[J]. J4, 2010, 44(2): 276-282.
[6] CHENG Wen-Lou, TANG Lin-Zhong, LIU Yun-Tong. Ontology-based knowledge service modeling for innovation design process of ornament[J]. J4, 2009, 43(12): 2268-2273.
[7] LIU Xiao-Jian, SUN Shou-Qian, CHEN Shi. Image-based 3D pattern structure mapping of woven products[J]. J4, 2009, 43(8): 1367-1371.