• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            麒麟子

            ~~

            導(dǎo)航

            <2011年4月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            1234567

            統(tǒng)計(jì)

            常用鏈接

            留言簿(12)

            隨筆分類

            隨筆檔案

            Friends

            WebSites

            積分與排名

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            關(guān)于id Tech5的MegaTexture技術(shù)

            最近因?yàn)樵诟阌螒虻匦蔚年P(guān)系,又想起id Tech5的地形技術(shù),以前就看過(guò)了一些視頻,知道了大概,但一直不是很清楚其基本的實(shí)現(xiàn)原理,于是搜索一番,還是有些收獲的

            首先,來(lái)看看wikipedia上面對(duì)于MegaTexture的定義:

            http://en.wikipedia.org/wiki/MegaTexture

            MegaTexture refers to a texture allocation technique facilitating the use of a single extremely large texture rather than repeating multiple smaller textures. It is featured in Splash Damage's game, Enemy Territory: Quake Wars and was developed by id Software technical director John Carmack.[citation needed]

            MegaTexture employs a single large texture space for static terrain. The texture is stored on removable mediaor the hard drive and streamed as needed, allowing large amounts of detail and variation over a large area with comparatively little RAM usage.[citation needed]

            Then during rendering, required parts of the texture space are streamed inside dynamically (re-)allocated textures in video memory, scaled to the correct mipmap level(s) depending on the polygon size. This allows the engine to reduce the number of texels in VRAM/number of pixels on the screen ratio (the goal being getting closer to 1), saving memory.

            The upcoming games Doom 4 and Rage, powered by the id Tech 5 engine, use textures that measure up to 128000×128000 pixels[1].

            id Tech 6 will use a more advanced technique that virtualizes further both the geometry and the texels (texture points): Voxel Spare Octree (VSO). This works by not using geometries anymore (triangles and textures) but by instead storing colored 3d points in an octree. The goal being to be able to stream parts of the octree, going further down along the tree for nearby objects to give them more details, and to use higher level, larger voxels for further objects, which give an automatic level of detail system for both the geometry and the texture space at the same time. Despite most Voxel rendering tests end using very large amount of memory (up to several Gb), John Carmack claimed he's able to compress such VSO to 1 byte per voxel.

            翻譯的大意:

            MegaTexture使用一張貼圖來(lái)表現(xiàn)整個(gè)地表的像素外觀,通過(guò)動(dòng)態(tài)定位和載入所需的該貼圖的局部的合適mipmap,來(lái)節(jié)約顯存開支(這里說(shuō)到選擇mipmap level是基于polygon size的,不是很清楚實(shí)際的做法,估計(jì)可能是基于地形自身的polygon,但考慮上地形polygon可能會(huì)有的LOD,情況就比較復(fù)雜)

            Doom4和Rage都將使用最大為128000x128000的MegaTexture(這說(shuō)明Doom4可能會(huì)有大量的室外場(chǎng)景?)

            id Tech6會(huì)使用一種叫做VSO的更為先進(jìn)的技術(shù),同時(shí)虛擬場(chǎng)景幾何和圖素(關(guān)于VSO,完全不懂鳥),這意味著將不再使用傳統(tǒng)的場(chǎng)景幾何(三角形+貼圖),而是通過(guò)octree儲(chǔ)存彩色化3D點(diǎn)(這句話我自己也無(wú)從了解,所以翻譯僅供參考了),目標(biāo)就是動(dòng)態(tài)載入octree的局部,對(duì)近處的物體,沿著此樹往下以獲得更多細(xì)節(jié),而對(duì)于遠(yuǎn)處的物體,則使用更高級(jí)別、更粗大的voxels(現(xiàn)查,voxels即volumetric pixels,可以理解為三維像素),這樣就給場(chǎng)景幾何和貼圖同時(shí)提供了LOD系統(tǒng)。盡管多數(shù)的Voxel渲染測(cè)試都反映需要很大量的顯存(幾個(gè)G),卡馬克表示他已經(jīng)能夠把每個(gè)三維像素壓縮到1字節(jié)

            注:下面提到的姚勇的pdf里面,說(shuō)到Doom3里已經(jīng)有MegaTexture的實(shí)現(xiàn)了(沒(méi)有另外去查詢考證),尺寸最大32768x32768,不使用傳統(tǒng)LOD和地形的Geometry Morphing,可見卡馬克同學(xué)還是比較“激進(jìn)”的,那么多年前就已經(jīng)搞這個(gè),和UE3(地形LOD+Morphing)果然是截然不同的思路阿

            通過(guò)google搜索,發(fā)現(xiàn)了另一篇好文,作者是姚勇(很多人應(yīng)該知道的八):

            http://blog.csdn.net/puzzy3d/archive/2007/08/16/1746589.aspx

            點(diǎn)這個(gè)頁(yè)面里的pdf連接

            這個(gè)pdf寫得很好啊,我這樣的小白一看就基本明白MegaTexture背后的實(shí)現(xiàn)原理了,就是基于一種叫做clipmap的技術(shù),clipmap顧名思義,就是把map的一部分clip下來(lái)用,每次更新需要的局部

            關(guān)于clipmap,據(jù)說(shuō)是SGI在1998年的時(shí)候最先發(fā)表的(我沒(méi)去考證),這里有SGI關(guān)于此技術(shù)的文章一枚:

            http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=bks&srch=&fname=/SGI_Developer/Perf_PG/sgi_html/ch15.html

            這文章前半段還可以看看,對(duì)于非圖形程序員的普通群眾來(lái)說(shuō),看起來(lái)恐怕都會(huì)和我一樣累

            如果不愿意看這篇文章,你還可以去下載SGI當(dāng)年那篇文章的pdf:

            The Clipmap:A Virtual Mipmap

            另外,clipmap這類原理的技術(shù),在3d虛擬和大規(guī)模地形系統(tǒng)上(比如google earth),好像也頗為有用,關(guān)于google earth,最近找到一篇很贊的文章,打算花點(diǎn)功夫翻譯出來(lái)(希望還沒(méi)人干過(guò)這件事情)

            特地又重看了一下Tech 5的引擎演示, 這次的感覺就和以前不一樣了,MegaTexture如果只是一個(gè)換了名字的clipmap,那其實(shí)也沒(méi)啥好說(shuō)的,Doom3里面也有,但沒(méi)見id以前怎么力推過(guò)。之所以tech 5要主推MegaTexture,還是因?yàn)橛辛艘惶诪槠渑浜系母咝е谱鞴ぞ摺?/p>

            其實(shí)clipmap技術(shù)和傳統(tǒng)基于tiling的技術(shù)注定要在制作上走兩條完全不同的路子。tiling技術(shù)的思路就是,我只做局部,然后讓局部不斷重復(fù)產(chǎn)生出整體,EPIC到UE3這一代為止,就是努力貫徹這種思路,所以不光是貼圖可以tiling,連模型也強(qiáng)調(diào)模塊化和拼接(當(dāng)然模塊化的涵蓋比tiling要大一些)。這種思路的優(yōu)點(diǎn)就是制作效率高、資源利用率高、資源存儲(chǔ)節(jié)約,缺點(diǎn)么,就是視覺上容易重復(fù),制作上需要考慮避免突兀和不均勻(尤其是貼圖,tiling貼圖往往會(huì)導(dǎo)致趨向于均勻和缺乏反差從而無(wú)從表現(xiàn)個(gè)性化細(xì)節(jié)),在動(dòng)態(tài)載入和LOD上,只能用一些較土的手段,總體就是不適合做富有變化的大規(guī)模地形。而clipmap,說(shuō)白了,就是每一個(gè)像素都可以特殊處理,都不會(huì)因此而影響運(yùn)行效率,且天生對(duì)動(dòng)態(tài)載入和LOD有很棒的支持,對(duì)內(nèi)存和顯存的消耗還好,對(duì)外存的需求就很大了,但畢竟外存的容量發(fā)展比較快。但clipmap的問(wèn)題是,如果每一個(gè)像素都要制作,那么制作上的工作量就極大,所以使用此類技術(shù)的游戲,應(yīng)該都會(huì)想辦法開發(fā)一些減輕工作量的工具,據(jù)Porky同學(xué)說(shuō)WIC是“先用地形系統(tǒng)根據(jù)高度坡度等生成自然貼圖和lightmap, 公路和deco會(huì)往上投射公路和爆炸坑等貼圖,然后導(dǎo)出到PS里手畫其他一些東西,比如平地上的沙坑啥的”,用PS畫是一種方式,但問(wèn)題是畢竟導(dǎo)進(jìn)導(dǎo)出麻煩且不直觀,而tech 5的工具所提供的,就是一套內(nèi)嵌的"PS",讓美工直接在場(chǎng)景里面繪制,那些stamp,其實(shí)很像PS里面的各種不同造型的筆刷,然后tech 5編輯器還提供這些“筆刷”繪制后的互相的疊加效果(這其實(shí)就是PS里面圖層之間的混合模式),所以,tech 5的MegaTexture,好玩就好玩在這里,感覺在編輯器層面,那個(gè)“大貼圖”就是一個(gè)巨大的PSD文件阿

            所以id和EPIC的確是個(gè)性很不一樣的公司,我特期待EPIC會(huì)把UE4設(shè)計(jì)成什么樣子

             

            http://lichong.blogbus.com/tag/clipmap/

            posted on 2013-02-23 23:15 麒麟子 閱讀(929) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            亚洲va国产va天堂va久久| 亚洲精品tv久久久久久久久| 99re这里只有精品热久久| 99精品久久精品| 国产精品伊人久久伊人电影| 久久综合久久鬼色| 久久综合九色综合网站| 亚洲一本综合久久| 久久久久久国产精品美女 | 无码人妻少妇久久中文字幕| 一本久久综合亚洲鲁鲁五月天| 人妻丰满AV无码久久不卡| 国产精品99久久精品爆乳| 亚洲AV日韩AV天堂久久| 久久人人爽人人爽人人片AV东京热| 伊人久久大香线蕉综合影院首页| 久久久国产精品网站| 亚洲国产欧美国产综合久久| 精品乱码久久久久久夜夜嗨| 久久亚洲国产成人精品性色| 无码人妻少妇久久中文字幕| 精品久久人人做人人爽综合| 久久99热精品| 99热成人精品热久久669| 久久精品国产清自在天天线| 久久最新免费视频| 国产精品亚洲美女久久久| www.久久热.com| 精品国产一区二区三区久久| 久久国产热精品波多野结衣AV| 久久九九全国免费| 91久久婷婷国产综合精品青草| 18岁日韩内射颜射午夜久久成人 | 69国产成人综合久久精品| 久久久久久曰本AV免费免费| 久久精品桃花综合| 色综合久久夜色精品国产 | 国产精品久久国产精品99盘| 久久综合给久久狠狠97色 | 精品乱码久久久久久久| 久久精品国产亚洲av日韩|