★
前段時間,在國外一些討論區中有不少發燒友在討論Virtual Texturing(虛擬紋理)與HSR(隱面消除)的問題。HSR是大家已經相當熟悉的一項技術,但虛擬紋理又是什么呢?
虛擬紋理是什么 作為紋理管理的一種方法,虛擬紋理 初由3Dlabs在其Permedia 3顯卡中提出,說起來它的歷史也不短了,只是其應用不夠廣泛,一直沒有得到大家關注而已。它的基本工作原理是將大塊的紋理貼圖加以分割,以小塊的形式進行傳輸和應用。對于當前的大多數顯卡來說,顯存帶寬的瓶頸始終還是存在的,即便配備了64MB的板載顯存,一次性地進行10MB甚至更大的紋理傳輸依然是一個艱巨的任務,在多數游戲中這很可能造成畫面的停頓。對于配備更少顯存的顯卡來說,這種情況下甚至將不得不直接調用AGP接口來進行紋理數據的傳輸,由此造成的性能損失就更加顯著。
而虛擬紋理就是為了緩解這種廳面而出現的。通過將大塊紋理分割成對稱的小塊,當需要對物體表面進行貼圖的時候,通過顯存或者AGP接口傳輸的就是這些小塊的紋理數據,基本上不會對整體的性能造成什么影響,使大體積紋理的處理具有更高的可行性。并且,當需要在顯存中清空紋理數據的時候,所需要處理的數據量也相應要小得多,由此可以節約大量的顯存帶寬,有效提升顯卡在數據傳輸方面的執行效率。
紋理壓縮
和虛擬紋理類似的紋理管理方法還有Texture Compression(紋理壓縮),在很多情況下具有6倍以上壓縮比例的紋理壓縮都可以極其有效地減小紋理本身的大小,從而避免紋理傳輸和管理方面的瓶頸,并且可以獲得更加精細的畫面,由此看來其效率比虛擬紋理要高。由于微軟DirectX的支持,紋理壓縮(以DXTC為代表)似乎具有更加光明的前景。但是虛擬紋理相對紋理壓縮一個很重要的優勢就在于它完全通過硬件來完成,對于應用程序是透明的,因此只要硬件支持就能夠具備良好的通用性,而紋理壓縮則不然——盡管現在看來它正得到越來越多的應用程序支持。
隱面消除
而Hidden Surface Removal(隱面消除)則是另外一回事了。在這里HSR更準確的稱呼似乎應當是Occlusion Detection(遮掩探測,OD),也就是說,當屏幕上 后顯示出來的結果是某物體表面已經為其他物體所遮掩的話,那么這部分“不可見”的表面就完全不需要渲染。HSR的主要功能就在于判定到底哪些表面是“不可見”因而也不需要渲染的。從這個意義上說,Z緩沖(Z-Buffer)就算是 簡單的OD了,只不過在傳統的3D計算流程中,Z-Buffer的應用是在渲染步驟之后,僅僅用來確定經過渲染完成后的物體哪些該顯示哪些不該顯示,而HSR中的OD則早在幾何運算中的三角形設定(Triangle Setup)之前,這樣不但節省了渲染所用帶寬,還節省了進行三角形和紋理設定所需要的數據帶寬和芯片占用,因此可以極大地提高3D加速的運算效率,尤其是在復雜的3D場景(包括大量物體相互遮掩的場景)中,HSR所能夠提供的等效帶寬甚至高達理論帶寬的6倍之多。
從節約帶寬的角度來看,紋理壓縮和其他任何形式的幾何甚至幀緩沖壓縮都是始終有效的,并且它們具有可靠的壓縮比例,因此能夠節省大量的帶寬;而HSR由于不確定因素太多,其效率顯然和3D場景甚至單獨的幀的復雜程度有關,因此只有合理運用才能得到比較好的效果——其功效當然也是非常驚人的;而虛擬紋理之類的紋理管理方法或許是這三者中影響 小的,它簡化了數據的交換并且改進了內存的管理,有效地避免了內存碎片的出現——但是從純粹數據量的角度考慮,其效果顯然并不明顯。
設為首頁 |
添加收藏 |
合作加盟|
友情鏈接
★湖南省陽光電子技術學校常年開設:手機維修培訓、家電維修培訓、電腦維修培訓、網絡工程師培訓、電工培訓、焊工培訓--面向全國招生。安置就業。考試合格頒發全國通用權威證書。電話:0731-85579057,網站:
http://www.hnygpx.com