实时动态软阴影技术研究与应用
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
阴影是不透明的物体阻挡光线而产生的黑暗范围。阴影作为现实生活中物体对于光源照射的投影,已经成为计算机图形渲染中增强真实感的一个不可缺少部分。阴影的边界部分可以帮助人们理解物体的外形,以及物体的相对位置。因此国内外对于实时动态软阴影的研究也就越来越多。阴影的主要算法有阴影映射算法与阴影体算法,由于阴影体算法开销很大,所以目前最流行的算法为阴影映射算法。
     本文对于实时动态软阴影的研究主要分为了下面三个方面:
     首先,对于实时动态软阴影的各种算法进行了分析与研究:1.分析与研究阴影映射算法,阴影映射算法是一种基于图像空间的阴影生成技术。阴影映射算法的基本原理是通过两次渲染来得到阴影。2.分析与研究透视阴影映射算法,该算法通过透视后空间,产生透视阴影映射,对于近处物体提供高分辨率而远处物体则提供较低分辨率,一定程度上解决了透视走样的问题。3.分析与研究光源空间透视阴影映射,该算法为阴影映射算法与透视阴影映射算法的一种折中算法。
     其次,提出了基于平行平分阴影映射的分层百分比渐进过滤算法。首先分析与研究平行平分阴影映射算法,接着分析与研究百分比渐进过滤算法。最后将平行平分阴影映射算法与百分比渐进过滤算法相结合,提出了基于PSSM的分层PCF算法。对于基于PSSM的分层PCF算法每张深度图的采样区域尺寸的选择提出了用户选择和基于半影的等比渐进两种方式。基于PSSM的分层PCF算法能够很好地模拟实时软阴影效果,对较复杂的几何体的阴影的绘制在保证阴影质量的情况下又能达到较为满意的实时渲染效率,为实时虚拟环境的阴影生成提供了有效的解决途径。
     最后,将实时动态软阴影模块应用到了场景编辑器中。首先介绍RomansStudio场景编辑器的功能模块。其次对实时动态软阴影的功能模块,关键类进行分析、设计和实现。接着分析了实时动态软阴影模块在场景编辑器的设计与应用。最后将实时动态软阴影模块应用到场景编辑器中并给出了实验的结果分析。
Shaodow is a piece of dark areas which is created by the opaque object blocks the light. Shaodw as the projection of object which is created by light in real life has become an indispensable part to enhance the computer garphics's rendering realism. The boundary section of shadow can help people understand the shape of objects, as well as the relative position of objects. Therefore, there is more and more study about real-time dynamic soft shadows at home and abroad. The main algorithm of shadow is shadow mappping and shadow volumes algorithm, for the expensive spending of shadow volume algorithm, the most popular algorithms is shadow mapping algorithm.
     In this dissertation, the study of real-time dynamic soft shadows can be divided into the following three aspects:
     First of all, a variety of algorithms of real-time dynamic soft shadows are researched: 1. The shadow mapping algorithm is analysied, shadow mapping algorithm is a kind of shadow generation technology base on image space.Its basic principle is do two rendering to get the shaodw. 2. The perspective shadow mapping algorithm is analysied, this algorithm generate the shadow mapping through perspective space, and provide high-resolution for near object when provide low-resolution for object which is far away the viewport. This algorithm solves the perblom of aliasing. 3. The light space perspective shadow mapping is described, this algorithm merges the shadow mapping algorithm and the perspective shadow mapping algorithm.
     Secondly, the algorithm of layed percentage-closer fliter which is based on the parallel split shadow mapping is proposed. First, the parallel-split shadow mapping algorithm is detailly analysied, then the percentage-closer filtering algorithm is introduced. Finally, combine the parallel-split shadow mapping algorithm with percentage-closer filtering algorithm, layed PCF based on PSSM is proposed. And two kinds of selection method of kernel size with depth map in the algorithm of layed percentage-closer fliter which is based on the parallel split shadow mapping are proposed: user select and geometric progressive based on the penumbra. Layered PCF algorithm based on PSSM can also simulate real-time soft shadows, it can render the shadow of more complex geometry while ensuring the quality and satisfying the efficiency for real-time rendering, prividing an effective solution to generate real-time shadow in virtual environment.
     Finally, the real-time dynamic soft shadow effect is applied to the actual scene editor. First, the function modules of the RomansStudio Scene Editor are introduced. Second, the shaodw module and the key class of the real-time dynamic soft shadow are introduced, analysed and implemented. Then the module design and application of the real-time dynamic soft shadow in the scene editor are analysed. Finally, the real-time dynamic soft shadow effect is applied to the scene editor and the result is analysed.
引文
[1] Mittring, Martin, "Finding Next Gen-CryEngine 2," SIGGRAPH 2007 Advanced Real-Time Rendering in 3D Graphics and Games course notes, 2007. Cited on p. 40, 50, 177, 189, 277, 282, 353, 357, 359, 361, 366, 370, 378, 382, 385, 421, 437, 453, 684, 881
    [2] Soler, Cyril, and Francois Sillion, "Fast Calculation of Soft Shadow Textures Using Convolution," Computer Graphics (SIGGRAPH 98 Proceedings), pp. 321-332, July 1998. Cited on p. 338, 370 (Convolution)
    [3] Nguyen, Hubert, "Casting Shadows on Volumes," Game Developer, vol. 6, no. 3, pp. 44-53, March 1999. Cited on p. 339 (Shadows on curved surfaces)
    [4] Cook, Robert L., "Stochastic Sampling in Computer Graphics," ACM Transactions on Graphics, vol. 5, no. 1, pp. 51-72, January 1986. Cited on p. 132, 366, 470
    [5] Bilodeau, Bill, with Mike Songy, "Real Time Shadows," Creativity '99, Creative Labs Inc. sponsored game developer conferences, Los Angeles, California, and Surrey, England, May 1999. Cited on p. 343
    [6] King, Gary, "Shadow Mapping Algorithms," GPU Jackpot presentation, Oct. 2004. Cited on p. 354, 355
    [7] Mikkelsen, Morten S., "Separating-Plane Perspective Shadow Mapping," journal of graphics tools, vol. 12, no. 3, pp. 43-54, 2007. Cited on p. 356
    [8] Zhang, Fan, Hanqiu Sun, Leilei Xu, and Kit-Lun Lee, "Parallel-Split Shadow Maps for Large-Scale Virtual Environments," ACM International Conference on Virtual Reality Continuum and Its Applications 2006, pp. 311-318, June 2006. Cited on p. 359 (z-partitioning)
    [9] Wyman, Chris, and Charles Hansen, "Penumbra Maps: Approximate Soft Shadows in Real-Time," Eurographics Symposium on Rendering (2003), pp. 202-207, June 2003. Cited on p. 371 (Penumbra maps)
    [10] King, Yossarian, "Ground-Plane Shadows," in Mark DeLoura, ed., Game Programming Gems, Charles River Media, pp. 562-566, 20090. Cited on p. 335
    [11] Herf, M., and P.S. Heckbert, "Fast Soft Shadows," Visual Proceedings (SIGGRAPH 96), p. 145, August 1996. Cited on p. 336
    [12] Isidoro, John, "Shadow Mapping: GPU-based Tips and Techniques," Game DevelopersConference, March 2006. http://ati.amd.com/developer/gdc/2006/ Isidoro-ShadowMapping.pdf Cited on p. 357, 361, 363, 366
    [13]李胜亮,管莉,张凌,潘伟,基于阴影映射的实时软阴影算法及实现。弹箭与制导学报,2007年,第27卷,第一期。
    [14] Nagy, Gabor, "Real-Time Shadows on Complex Objects," in Mark DeLoura, ed., Game Programming Gems, Charles River Media, pp. 567-580, 2000. Cited on p. 339
    [15] Schiiler, Christian, "Multisampling Extension for Gradient Shadow Maps," in Wolfgang Engel, ed., ShaderX5, Charles River Media, pp. 207-218, 2006. Cited on p. 351, 366
    [16] Kilgard, Mark J., "Shadow Mapping with Today's OpenGL Hardware," CEDEC, 2001. Cited on p. 350
    [17] Heidmann, Tim, "Real shadows, real time," Iris Universe, no. 18, pp. 23-31, Silicon Graphics Inc., November 1991. Cited on p. 340, 341
    [18] Segal, M., C. Korobkin, R. van Widenfelt, J. Foran, and P. Haeberli, "Fast Shadows and Lighting Effects Using Texture Mapping," Computer Graphics (SIG-GRAPH '92 Proceedings), pp. 249-252, July 1992. Cited on p. 153, 222, 339, 350 
    [19] Crow, Franklin C, "Shadow Algorithms for Computer Graphics," Computer Graphics (SIGGRAPH '77 Proceedings), pp. 242-248, July 1977. Cited on p. 340 (Shadow volumes)
    [20] Bestimt, Jason, and Bryant Freitag, "Real-Time Shadow Casting Using Shadow Volumes," Gamasutra, Nov. 1999. Cited on p. 343
    [21] Williams, Lance, "Casting Curved Shadows on Curved Surfaces," Computer Graphics (SIGGRAPH '78 Proceedings), pp. 270-274, August 1978. Cited on p. 348 (Shadow map)
    [22] Blinn, Jim, "Me and My (Fake) Shadow," IEEE Computer Graphics and Applications, vol. 8, no. 1, pp. 82-86, January 1988. Also collected in [105]. Cited on p. 333, 336 (Projected planar shadows)
    [23] Tessman, Thant, "Casting Shadows on Flat Surfaces," Iris Universe, pp. 16-19, Winter 1989. Cited on p. 333
    [24] McGuire, Morgan, "Efficient Shadow Volume Rendering," in Randima Fernando, ed., GPU Gems, Addison-Wesley, pp. 137-166, 2004. Cited on p. 345
    [25] Bloom, Charles, "Advanced Techniques in Shadow Mapping," June 3, 2001. Cited on p. 339, 373
    [26] Arvo, Jukka, and Timo Aila, "Optimized Shadow Mapping Using the Stencil Buffer," journal of graphics tools, vol. 8, no. 3, pp. 23-32, 2003. Also collected in [71]. Cited on p. 349
    [27] Wang, Yulan, and Steven Molnar, "Second-depth Shadow Mapping," TR94-019, Department of Computer Science, The University of North Carolina at Chapel Hill, 1994. Cited on p. 352
    [28] Bavoil, Louis, Steven P. Callahan, and Claudio T. Silva, "Robust Soft Shadow Mapping with Depth Peeling," journal of graphics tools, to appear, 2008. Cited on p. 352, 372
    [29] King, Gary, "Shadow Mapping Algorithms," GPU Jackpot presentation, Oct. 2004. Cited on p. 354, 355
    [30] Woo, Andrew, "The Shadow Depth Map Revisited," in David Kirk, ed., Graphics Gems III, Academic Press, pp. 338-342, 1992. Cited on p. 352
    [31] Bunnell, Michael, and Fabio Pellacini "Shadow Map Antialiasing," in Randima Fernando, ed., GPU Gems, Addison-Wesley, pp. 167-183, 2004. Cited on p. 361
    [32] Stamminger, Marc, and George Drettakis, "Perspective Shadow Mapping," ACM Transactions on Graphics (SIGGRAPH 2002), vol. 21, no. 3, pp. 557-562, July 2002. Related article in [669]. Cited on p. 353, 355
    [33] Koslov, Simon, "Perspective Shadow Maps: Care and Feeding," in Randima Fernando, ed., GPU Gems, Addison-Wesley, pp. 217-244, 2004. Cited on p. 355
    [34] Lloyd, Brandon, "Logarithmic Perspective Shadow Maps," Ph.D. Thesis, Dept. of Computer Science, University of North Carolina at Chapel Hill, August 2007. Cited on p. 357, 359 (z-partitioning)
    [35] Wimmer, Michael, Daniel Scherzer, and Werner Purgathofer, "Light Space Perspective Shadow Maps," Eurographics Symposium on Rendering (2004), PP- 143-151, June 2004. Cited on p. 356
    [36] Wimmer, Michael, and Daniel Scherzer, "Robust Shadow Mapping with Light-Space Perspective Shadow Maps," in Wolfgang Engel, ed., ShaderX4, Charles River Media, pp. 313-330, 2005. Cited on p. 356
    [37] Zhang, Fan, Hanqiu Sun, and Oskari Nyman, "Parallel-Split Shadow Maps on Programmable GPUs," in Hubert Nguyen, ed., GPU Gems 3, Addison-Wesley, pp. 203-237, 2007. Cited on p. 359, 360 (z-partitioning)
    [38] Scherzer, Daniel, "Robust Shadow Maps for Large Environments," Central European Seminar on Computer Graphics 2005, pp. 15-22, 2005. Cited on p. 353, 357
    [39] Reeves, William T., David H. Salesin, and Robert L. Cook, "Rendering Antialiased Shadows with Depth Maps," Computer Graphics (SIGGRAPH '87 Proceedings), pp. 283-291, July 1987. Cited on p. 362
    [40]赵乃良,陈艳君,潘志庚,基于数据修正的实时阴影反走样算法。计算机辅助设计与图形学报。2006年8月,第18卷,第8期
    [41] Chan, Eric, and Fredo Durand, "Rendering Fake Soft Shadows with Smoothies," Eurographics Symposium on Rendering (2003), pp. 208-218, June 2003. Cited on p. 371 (Smoothies)
    [42] Guennebaud, Gael, Loi'c Barthe, and Mathias Paulin, "High-Quality Adaptive Soft Shadow Mapping," Computer Graphics Forum, vol. 26, no. 3, pp. 525-533, 2007. Cited on p. 372 (backprojection)
    [43] Bavoil, Louis, Steven P. Callahan, and Claudio T. Silva, "Robust Soft Shadow Mapping with Depth Peeling," journal of graphics tools, to appear, 2008. Cited on p. 352, 372 (backprojection)
    [44] Fernando, Randima, "Percentage-closer Soft Shadows," SIGGRAPH 2005 Technical Sketch, 2005. Cited on p. 364
    [45] Engel, Wolfgang, "Cascaded Shadow Maps," in Engel, Wolfgang, ed., ShaderX5, Charles River Media, pp. 197-206, 2006. Cited on p. 357, 359, 360 (z-partitioning)

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700