硬件加速的CAD显示技术研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
在过去CAD的显示中,开发人员不能同时实现真实的图像和良好的人机交互,而
    必须在两者之间权衡。随着计算机图形硬件的飞速发展,我们已经可以两者兼顾,距
    离在CAD中的实时照片级真实感图像显示的目标越来越近了。
    图形硬件的发展,不仅表现在速度的飞速提高,还表现在功能的不断增强。在本
    文中,作者将一些硬件加速的技术应用于CAD显示,使得CAD可以显示更加真实
    的光照,更多种类的物体,以及实现更多的其它功能。本文第一章介绍了OpenGL扩
    展功能、硬件加速的可编程着色等图形硬件的新功能,它们是本文方法的基础知识。
    象素光照是在向照片级真实感图像发展中的一大步。相对传统的顶点光照,它展
    示了更多的细节和更精确的光照效果。使用硬件的象素计算功能,可以实时地完成象
    素光照的计算。本文第二章首先介绍了象素光照在图形硬件上的实现方法。然后作者
    提出了面光源的软阴影生成算法,借助硬件的增强实现了面光源软阴影的实时生成和
    显示。具体工作为:在线光源软阴影生成算法的基础上,作者提出了运用快速面积估
    计生成面光源的软阴影的算法。这个算法解决了线光源软阴影生成算法阴影过渡不真
    实的缺陷,可以实时生成较为真实的面光源软阴影。
    借助于硬件的帮助,我们还可以实时生成和显示轮廓线和剖面线。本文第三章第
    一节介绍了三种不同的硬件加速的显示轮廓线方法,并比较了三种方法的结果。在第
    二节,作者提出并实现了使用模板缓存和剖面纹理贴图的剖面线生成和显示方法,可
    以实时地显示剖面线,并在此基础上,提出了使用cg语言实时地生成反走样的剖面
    纹理的方法。
    在第四章中,作者提出了基于深度缓存的CAD装配体实时冲突检测算法:作者
    首先提出了一个针对简单零件的基于单深度缓存冲突检测算法,在此基础上,利用深
    度剥离技术,给出了基于多深度缓存的针对复杂零件的精确的冲突检测。用户可以决
    定是使用单深度缓存获得较不精确的冲突检测,还是使用多深度缓存获得精确的冲突
    检测。两种方法都可在实时场合使用。
    前三章中各种方法对图形硬件资源的占用可能会引起冲突,第五章中作者讨论了
    如何修改传统的显示流程来容纳前面三章提出的所有的效果和功能,而同时保持最大
    的性能。
    最后,作者总结了全文的内容并对未来CAD显示的发展方向提出了自己的看法。
In the past, CAD developers can't display photo-realistic images while keeping good computer-human interaction, and have to make trade-off between them. With the rapid development of graphics hardware, we can now achieve both and are getting closer to real-time photo-realistic images in CAD rendering.
    The improvements of computer graphics hardware bring not only faster rendering speed, but also more functions. In this article, the author introduces some new techniques in hardware-accelerated rendering, and applies them in CAD displaying. Those new techniques bring CAD more realistic images, more kinds of objects to display, and more other functions. In the first chapter, the author introduces some hardware-accelerated techniques using OpenGL extensions and hardware programmable shading language which are the foundations of this dissertation.
    Per-pixel lighting is a major advance to photo-realistic images. It gives more details and more accurate lighting effects than conventional per-vertex lighting. With the help of pixel level programming, we can computer lighting per pixel real-time. In the second chapter, the author explained how to implement per-pixel lighting in graphics hardware. Then, the author purposes an algorithm of generating soft shadows for area light with hardware-acceleration. The algorithm is as follows. Based on an algorithm of soft shadows for linear light, the author purposed an algorithm of soft shadows for area light by area approximation. This new method solved the artifact of linear visibility transition in the algorithm for linear light, and can generate convincing soft shadows for area light.
    Due to hardware improvements, silhouette and hatch can be generated and displayed real-time. In the first section of chapter 3, the author introduces three different kinds of method for displaying silhouette, and compares the results of the three methods. In the second section, the author purposed a method of generating hatch area. This method use stencil buffer to generate the hatch area, then apply a hatch texture on the area. With this method, we can display hatch real-time. Then the author purposes a method of generating antialiased hatch real-time using eg language.
    Two Algorithms for collision detection based on z-buffer is purposed next. First, the author purposes an algorithm using single z-buffer to detection collisions between simple objects. Then the author enhances it using multiple z-buffers. The user may use simple single z-buffer to detect collision inaccurate or use multiple z-buffers to detect precisely. Both are suitable for real-time applications.
    Previous algorithms may result in conflicts in hardware resource. The author discusses how to modify conventional rendering path to accommodate all the effects and functions while keeping maximum performance.
    And the author concludes with conclusions and future work.
引文
[1] David S. Ebert, et al, "Texturing and Modeling: A Procedural Approach", Morgan Kaufmann Publishers.
    [2] David Blythe, "Advanced Graphics Programming Techniques Using OpenGL", SIGGRAPH'99 Course, Silicon Graphics.
    [3] Paul Joseph Diefenbach, "Pipeline Rendering: Interaction and Realism Through Hardware-based Multi-pass Rendering", Ph.D thesis, University of Pennsylvania.
    [4] Mark Segal, Kurt Akeley, "The OpenGL Graphics System: A Specification(Version 1. 2. 1) ", Silicon Graphics Inc.
    [5] Mark Segal, Kurt Akeley, "The OpenGL Graphics System: A Specification(Version 1. 4) ", Silicon Graphics Inc.
    [6] Mark J. Kilgard, "NVIDIA OpenGL Extension Specifications", NVIDIA Corp.
    [7] Robert L. Cook, "Shade Trees", Computer Graphics and Interactive Techniques Proc, p.223-231, Jan, 1984.
    [8] "Renderman Specification 3. 1", Pixar Corp.
    [9] "Cg Language Specification", NVIDIA Corp.
    [10] I. Sutherland, "Sketchpad: A man-machine graphical communication system", Proceedings of the Spring Joint Computer Conference, 1963.
    [11] E.Catmull, "A Subdivision Algorithm for Computer Display of Curved Surfaces", Ph.d thesis, Department of Computer Science, University of Utah, Dec, 1974.
    [12] T. Whirled, "An Improved Illumination Model for Shaded Display", Communications of the ACM, 23(6) , p.343-349, June, 1980.
    [13] C. Goral, K. Torrance, D. Greenberg, and B. Battaile, "Modeling the Interaction of Light Between Diffuse Surfaces", Proceedings of SIGGRAPH'84, 18(3) , p.212-222, July, 1984.
    [14] B. T. Phong, "Illumination for Computer Generated Images", Ph.D. dissertation, Univ. of Utah, Salt Lake City, 1973.
    [15] B. T. Phong, "Illumination for Computer Generated Pictures", Communications of ACM,IS(6) , p.311-317,June, 1975
    [16] Tom McReynolds, David Blythe, "Advanced Graphics Programming Techniques Using OpenGL", SIGGRAPH'00 Course 32, April, 2000.
    [17] James, Blinn, "Simulation of Wrinkled Surfaces", Proceedings of SIGGRAPH'78, p.286-292, Aug, 1978
    [18] Andrew Woo, Pierre Poulin, and Allain Former, "A survey of shadow algorithms", IEEE Computer
    
    Graphics and Applications, 10(6) : 13-32, November 1990.
    [19] Frank Crow, "Shadow Algorithm for Computer Graphics", Proceedings of SIGGRAPH'77, p.242-248.
    [20] Lance Williams, "Casting curved shadows on curved surfaces", Proceedings of SIGGRAPH'78, p.270-274, Aug. 1978.
    [21] Gerald Schrocker, "Hardware Accelerated Per-Pixel Shading", Project analysis, Feb, 2002.
    [22] William T. Reeves, David H. Salesin, and Robert L. Cook, "Rendering antialiased shadows with depth maps", Proceedings of SIGGRAPH '87, pages 283-291 July 1987.
    [23] Mark J. Kilgard, "A Practical and Robust Bump-mapping Technique for Today's GPUs", NVIDIA Corp., GDC 2000.
    [24] Mark J. Kilgard, "More Advanced Hardware Rendering Techniques", NVIDIA Corp, GDC 2001.
    [25] Cass Everitt, "Per-pixel Lighting", NVIDIA Corp., GDC 2000.
    [26] Cass Everitt, "Projective Texture Mapping", NVIDIA SDK 5. 1 Document, NVIDIA Corp.
    [27] Cass Everitt, Ashu Rege, Cem Cebenoyan, "Hardware Shadow Mapping", NVIDIA Corp. Cass Everitt, "One-Pass Silhouette Rendering with GeForce and GeForce2", NVIDIA Corp.
    [28] Wolfgang Heidrich, Stefan Brabec, Hans-Peter Seidel, "Soft Shadow Maps for Linear Lights", Proc. Eurographics Workshop on Rendering'00, Sringer, 2000.
    [29] Zhengming Ying, Min Tang, Jinxiang Dong, "Soft Shadow Maps for Area lights by Area Approximation", Proceedings of Pacific Graphics '02, poster session, Oct, 2002
    [30] George Drettakis, Eugene Fiume. "A fast shadow algorithm for area light sources using back projection", Proceedings ofSIGGRAPH'94, p.223-230, July 1994.
    [31] Cass Everitt, "Interactive Order-Independent Transparency", NVIDIA Corp.
    [32] John Spitzer, "OpenGL Performance FAQ for NVIDIA GPUs v2. 1", NVIDIA Corp.

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

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

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