(3.238.88.35) 您好!臺灣時間:2021/04/11 19:04
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果

詳目顯示:::

我願授權國圖
: 
twitterline
研究生:張力方
研究生(外文):Li-Fang Chang
論文名稱:應用圖形硬體加速之即時性柔性物體模擬系統
論文名稱(外文):Real-Time Deformable Object Simulation using the GPU
指導教授:劉興民
指導教授(外文):Shing-Min Liu
學位類別:碩士
校院名稱:國立中正大學
系所名稱:資訊工程所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
畢業學年度:94
語文別:英文
論文頁數:54
中文關鍵詞:圖形硬體柔性物體即時性系統
外文關鍵詞:Deformable ObjectReal-timeGPU
相關次數:
  • 被引用被引用:1
  • 點閱點閱:146
  • 評分評分:系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔
  • 下載下載:20
  • 收藏至我的研究室書目清單書目收藏:0
在電腦圖學的領域中,柔性物體模擬已經是個被研究數十年以上的歷史性題目,在以往的研究中,有釵h不同的模擬方法被提出,基本上,這些方法可以分類為以幾何變形為基礎的做法和以物理原則為基準的做法。以幾何變形為基礎的做法能夠很快速的產生物體的變形,但是並無法直覺性的控制物體之變形。另一方面,以物理原則為基準的做法雖然能夠產生相當逼真的模擬效果,可產生類似於真實物體的變形情況,不過由於在運算過程中牽涉物理原則的計算,以及需要龐大的計算量,因此,很難產生即時性的動態模擬。所以,在此我們著眼於是否能在一個虛擬場景中提供一個即時性柔性物體之模擬計算。

  在此篇論文中,我們利用圖形硬體(Graphics Hardware)來實作柔性物體之模擬。柔性物體模擬的方法則是採用質點彈簧模擬法(Mass Spring Method),因為在以往的研究中,如果僅僅使用中央處理器(CPU)的計算能力來處理柔性物體模擬的計算,是很難達到具互動性的模擬效果。不過,在可程式化的圖形硬體上的頂點或像素處理,彼此之間是獨立計算,而且也不能藉由固定式記憶體空間來做溝通,因此,我們將運算中所需要使用到的資訊皆包裝成多張材質。而原則上經過像素處理器(Fragment Processor)的運算,模擬完的結果會輸出至視訊記憶體(Frame Buffer)上,藉由使用視訊記憶體物件(Frame Buffer Object),我們能將模擬運算後的結果直接寫至材質中。將傳統中央處理器的柔性物體模擬與以圖形硬體實作之柔性物體模擬做比較,我們很滿意使用圖形硬體來取代原先做法所獲得的效能提昇。此研究同時也能提供其他希望利用圖形硬體加速龐大計算的即時性系統做為參考。
Deformable object simulation has been researched for decades in computer graphics.
A wide variety of approaches have been proposed to simulate deformable object.
Basically, the approaches can be classified into geometrically-based approaches and
physically-based approaches. The geometrically-based approaches have the advantage
of computational efficiency, however, that is not an intuitive way to control
the deformation. On the other hand, the physically-based approaches can provide
impressive simulation results, emulate deformable objects just like the ones in real
world. Nevertheless the computation involves several physical principles and requires
large amount of computation resources. As a result, real time simulation is hard to
achieve. Therefore, the ability to provide a deformable object simulation in a virtual
environment interactively or even in real-time is what we concern with.
In this thesis, we implement real-time deformable object simulations on modern
graphics hardware. The deformable objects are modeled by Mass Spring method.
With a large set of mass nodes and springs, the real-time simulations are able to
be accomplished using the computational power of GPU. Traditionally, this kind of
simulation is difficult to achieve interactive frame rates if simply using CPU processing.
Nevertheless, the programmable graphics hardware is unable to communicate
between vertices or pixels; neither can it write to constant memory. Therefore, the
information required for simulation is encapsulated into several textures. Simulated
results are sent to frame buffer after the fragment program terminated. With aid of
the Frame Buffer Object, we are able to redirect the updated results to texture. Comparing
with the simulation throughput of the one using CPU and with the other one
using GPU, we are pleased with the performance through implementing deformable
object simulation with MSD model on modern graphics hardware. This may provide
a foundation for realization of many other real-time simulation tasks using the GPU.
1 Introduction 1
1.1 Research Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Deformable Object Simulation . . . . . . . . . . . . . . . . . . 1
1.1.2 Advance of Graphics Hardware . . . . . . . . . . . . . . . . . 2
1.1.3 Shading Languages and GPGPU Computing . . . . . . . . . . 4
1.2 Objectives and Contribution . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 A GPU-Based Deformable Object Simulation Framework . . . 5
1.2.2 Enhancing the Performance of Deformable Object Simulation 5
1.2.3 Eliminating Unnecessary Memory Copy using Frame Buffer Object
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.4 Rendering Model using Vertex Processor without Copying Information
back to CPU . . . . . . . . . . . . . . . . . . . . . . 6
2 Background 7
2.1 Deformable Object Modeling Methods . . . . . . . . . . . . . . . . . 7
2.1.1 Free-Form Deformation . . . . . . . . . . . . . . . . . . . . . . 8
2.1.2 Mass Spring Method . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.3 Finite Element Method . . . . . . . . . . . . . . . . . . . . . . 10
2.2 GPU-Based Techniques and Applications . . . . . . . . . . . . . . . . 10
2.2.1 Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 Ray Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.3 Physically-Based Simulations . . . . . . . . . . . . . . . . . . 13
i
3 Approaches 15
3.1 Mass Spring Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.1 Model Construction . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.2 Integration Scheme . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Programming on Graphics Hardware . . . . . . . . . . . . . . . . . . 19
3.2.1 Programmable Graphics Pipeline . . . . . . . . . . . . . . . . 19
3.2.2 Memory Model . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.3 GPGPU Concepts . . . . . . . . . . . . . . . . . . . . . . . . 23
4 Implementation Details 27
4.1 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.1 Texture Encapsulation . . . . . . . . . . . . . . . . . . . . . . 29
4.2.2 Detail Discussions . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3 Integration Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.1 Algorithm and Implementation . . . . . . . . . . . . . . . . . 31
4.3.2 Frame Buffer Object . . . . . . . . . . . . . . . . . . . . . . . 32
4.4 Rendering Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5 Experiments and Simulation Results 36
5.1 CPU vs. GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.1.1 CPU-Based Simulation . . . . . . . . . . . . . . . . . . . . . . 37
5.1.2 GPU-based Simulation . . . . . . . . . . . . . . . . . . . . . . 38
5.1.3 CPU vs. GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2 Read-back Render vs. Vertex Shader Render . . . . . . . . . . . . . . 40
5.3 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6 Conclusion and Future Work 48
[1] Cloth simulation demonstration.
http://developer.nvidia.com/object/demo cloth simulation.html.
[2] Frame buffer object specification.
http://oss.sgi.com/projects/ogl-sample/registry/EXT/framebuffer object.txt.
[3] Gpusort: High performance sorting using graphics processors.
http://gamma.cs.unc.edu/GPUSORT/index.html.
[4] Nvidia developer web site. http://developer.nvidia.com/page/home.html.
[5] Prman. http://giga.cps.unizar.es/prman/.
[6] The renderman interface specification.
https://renderman.pixar.com/products/rispec/index.htm.
[7] Tetgen: A quality tetrahedral mesh generator. http://tetgen.berlios.de/.
[8] Vertex texture fetch.
http://developer.nvidia.com/object/using vertex textures.html.
[9] Daniel Bielser, Volker Maiwald, and Markus Gross. Interactive cuts through 3-
dimensional soft tissue. In Computer Graphics Forum (Eurographics ’99), volume
18(3), pages 31–38, 1999.
[10] Morten Bro-Nielsen. Finite element modeling in surgery simulation. Proceedings
of the IEEE, 86(3):490–503, 1998.
[11] Ian Buck. Gpu computation strategies and tricks. In GPGPU: General-Purpose
Computation on Graphics Hardware, 2004.
[12] Kup-Sze Choi, Hanqui Sun, Pheng-Ann Heng, and Jack Cheng. A scalable
force propagation approach for web-based deformable simulation of soft tissues.
In Web3D ’02: Proceeding of the seventh international conference on 3D Web
technology, pages 185–193, 2002.
[13] Lee Cooper and Steve Maddock. Preventing collapse within mass-spring-damper
models of deformable objects. In Proceedings of The Fifth International Conference
in Central Europe on Computer Graphics and Visualization, 1997.
[14] Sabine Coquillart. Extending free-form deformation: a sculpting tool for 3d geometric
modeling. In Computer Graphics Proceedings, Annual Conference Series,
pages 187–196, 1990.
[15] Randy Fernando, Mark Harris, Matthias Wloka, and Cyril Zeller. Programming
graphics hardware. In Eurographics, Tutorials, 2004.
[16] Joachim Georgii, Florian Echtler, and Rudiger Westermann. Interactive simulation
of deformable bodies on gpus. In Simulation and Visualiation, 2005.
[17] Sarah Gibson and Brian Mirtich. A survey of deformable modeling in computer
graphics. In Technical Report TR-97-19, 1997.
[18] Jean Gourret, Nadia Magnenat-Thalmann, and Daniel Thalmann. Simulation
of object and human skin formations in a grasping task. In SIGGRAPH ’89:
Proceedings of the 16th annual conference on Computer graphics and interactive
techniques, pages 21–30, 1989.
[19] Naga Govindaraju, Michael Henson, Ming Lin, and Dinesh Manocha. Interactive
visibility ordering and transparency computations among geometric primitives
in complex environments. In ACM Symposium on Interactive 3D Graphics and
Games, 2005.
[20] Naga Govindaraju, Stephane Redon, Ming Lin, and Dinesh Manocha. Cullide:
interactive collision detection between complex models in large environments
using graphics hardware. In HWWS ’03: Proceedings of the ACM
SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, pages 25–32,
2003.
[21] Mark Harris, William Baxter, Thorsten Scheuermann, and Anselmo Lastra. Simulation
of cloud dynamics on graphics hardware. In Proceedings ACM SIGGRAPH/
Eurographics Workshop on Graphics Hardware, pages 92–101, 2003.
[22] William Hsu, John Hughes, and Henry Kaufman. Direct manipulation of freeform
deformations. In Computer Graphics Proceedings, Annual Conference Series,
pages 177–184, 1992.
[23] Il-Kwon Jeong and Inho Lee. An oriented particle and generalized spring model
for fast prototyping deformable objects. In Eurographics, Short Presentations,
2004.
[24] Peter Kipfer, Mark Segal, and Rudiger Westermann. Uberflow: a gpubased
particle engine. In HWWS ’04: Proceedings of the ACM SIGGRAPH/
EUROGRAPHICS conference on Graphics hardware, pages 115–122,
2004.
[25] Dave Knott, Kees van den Doel, and Dinesh Pai. Particle system collision detection
using graphics hardware. In GRAPH ’03: Proceedings of the SIGGRAPH
2003 conference on Sketches and applications, 2003.
[26] Andreas Kolb, Latta, and Christof Rezk-Salama. Hardware-based simulation
and collision detection for large particle systems. In HWWS ’04: Proceedings
of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware,
pages 123–131, 2004.
[27] Jens Kruger, Peter Kipfer, Polina Kondratieva, and Rudiger Westermann. A
particle system for interactive visualization of 3d flows. IEEE Transactions on
Visualization and Computer Graphics, 11(6):744–756, 2005.
[28] Jens Kruger and Rudiger Westermann. Linear algebra operators for gpu implementation
of numerical algorithms. In ACM Transactions on Graphics, volume
22, pages 908–916, 2003.
[29] Aaron Lefohn, Joe Kniss, Robert Strzodka, Shubhabrata Sengupta, and John
Owens. Glift: Generic, efficient, random-access gpu data structures. ACM Transactions
on Graphics, 25(1), January 2006.
[30] Ron MacCracken and Kenneth Joy. Free-form deformations with lattices of arbitrary
topology. In Computer Graphics Proceedings, Annual Conference Series,
pages 181–188, 1996.
[31] Christen Martin. Ray Tracing on GPU. University of Applied Sciences Basel,
2005.
[32] Maciej Matyka and Mark Ollila. A pressure model for soft body simulation. In
Proceeding of Sigrad, 2003.
[33] Gary Miller, Dafna Talmor, Shang-Hua Teng, Noel Walkington, and Han Wang.
Control volume meshes using sphere packing: Generation, refinement and coarsening.
In Proceeding of 5th International Meshing Roundtable, pages 47–61, 1996.
[34] Jesse Hall Nathan Carr and John Hart. The ray engine. In Proceedings of the
Graphics Hardware, Sep 2002.
[35] Andrew Nealen, Matthias Muller, Richard Keiser, Eddy Boxerman, and Mark
Carlson. Physically based deformable models in computer graphics. In Eurographics
2005: State of the Art Report, 2005.
[36] James O’Brien and Jessica Hodgins. Graphical modeling and animation of brittle
fracture. In SIGGRAPH ’99: Proceedings of the 26th annual conference on
Computer graphics and interactive techniques, pages 137–146, 1999.
[37] John Owens, David Luebke, Naga Govindaraju, Mark Harris, Jens Kruger,
Aaron Lefohn, and Timothy Purcell. A survey of general purpose computation
on graphics hardware. In Eurographics, State of The Art Reports, pages
21–51, 2005.
[38] Timothy Purcell, Craig Donner, Mike Cammarano, Henrik Wann Jensen, and
Pat Hanrahan. Photon mapping on programmable graphics hardware. In Proceedings
of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics
Hardware, pages 41–50. Eurographics Association, 2003.
[39] Mark Kilgard Randima Fernando. The Cg Tutorial: The Definitive Guide to
Programmable Real-Time Graphics. Addison-Wesley, 2003.
[40] Thomas Sederberg and Scott Parry. Free-form deformation of solid geometric
models. In SIGGRAPH ’86: Proceedings of the 13th annual conference on Computer
graphics and interactive techniques, pages 151–160, New York, NY, USA,
1986. ACM Press.
[41] Eduardo Tejada and Thomas Ertl. Large steps in gpu-based deformable bodies
simulation. In Simulation Theory and Practice. Special Issue on Special Issue on
Programmable Graphics Hardware, 2005.
[42] Pascal Volino and Nadia Magnenat-Thalmann. Accurate garment prototyping
and simulation. In Computer Aided Design and Applications, volume 2, 2005.
[43] Cyril Zeller. Cloth simulation on the gpu. In The 32nd International Conference
on Computer Graphics and Interactive Techniques, 2005.
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
系統版面圖檔 系統版面圖檔