• <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>
            流逝的時(shí)光
            總有一天我們都會(huì)離去 email: zzxhang@gmail.com
            posts - 21,comments - 111,trackbacks - 0
              最近想研究下GPU對(duì)地形渲染的性能優(yōu)化,google到了Gpu gems2的一篇文章: <Terrain Rendering Using GPU-Based Geometry Clipmaps>,鏈接:http://research.microsoft.com/en-us/um/people/hoppe/gpugcm.pdf,掃了一遍,看懂了大概,把要點(diǎn)記于此:
              1. 以視點(diǎn)為中心渲染不同層級(jí)的矩形環(huán)狀網(wǎng)格,每進(jìn)一層網(wǎng)格密度增加一倍,取n = 2k−1作為每層網(wǎng)格的size,這樣中心能恰好位于網(wǎng)格的分割線上,同時(shí)每層網(wǎng)格的中心都能偏離下一級(jí)網(wǎng)格的中心一個(gè)單位,方便后面較密網(wǎng)格層次的偏移計(jì)算,原話是:"it is necessary to allow a finer level to shift while its next-coarser level stays fixed, and therefore the finer level must sometimes be off-center with respect to the next-coarser level",關(guān)于這一點(diǎn),我還沒太搞明白
             
              2. 創(chuàng)建一系列不同密度下的高度圖,從最疏的高度圖開始,執(zhí)行一個(gè)UpSample的過程,細(xì)分高度,渲染下一級(jí)的高度圖,這個(gè)過程發(fā)生在視點(diǎn)變化的時(shí)候,
             
              3. 在VS中,根據(jù)指定的過渡區(qū)域大小確定一個(gè)alpha,對(duì)當(dāng)前層級(jí)的高度和下一級(jí)密度的高度做一個(gè)插值,以使得不同密度下的網(wǎng)格能平滑過渡,這個(gè)過程要用到VTF(Vertex Texture Fetch ),需要shader Mode3.0的支持,同時(shí)可以把這個(gè)alpha傳到PS繼續(xù)進(jìn)行不同層級(jí)的Normal map的混合計(jì)算

              4. 矩形環(huán)可以分割為一個(gè)個(gè)小的block,這樣可以減少需要的頂點(diǎn)數(shù)據(jù)量,同時(shí)也方便進(jìn)行視錐裁減.

              5. 可以只創(chuàng)建一個(gè)矩形環(huán)所需要的VertexBuffer,不同大小的矩形環(huán)在vs中進(jìn)行偏移,縮放運(yùn)算,由于都是相對(duì)坐標(biāo),因此可以使用D3DDECLTYPE_SHORT2來存貯坐標(biāo)數(shù)據(jù),一個(gè)頂點(diǎn)只需要4bytes

             6. 在進(jìn)行高度的插值時(shí)需要采樣2個(gè)不同級(jí)別下的高度圖,而VTF是一個(gè)相對(duì)比較耗時(shí)的操作,因此可以把當(dāng)前高度和下一級(jí)別高度和當(dāng)前高度的差壓縮為一個(gè)浮點(diǎn)值編碼到當(dāng)前級(jí)別的高度圖中去,整數(shù)部分存貯當(dāng)前級(jí)別的高度值,小數(shù)部分存貯高度差,同樣可以把相鄰兩個(gè)不同級(jí)別的Normal map壓縮到一張四通道的Normal map中去,這個(gè)壓縮的過程發(fā)生在UpSample時(shí)

             7.設(shè)置紋理查找方式為wraparound addressing, 在更新地形時(shí),實(shí)際上只是更新高度圖和Normal map,我們可以把當(dāng)前視點(diǎn)的位置映射到這些紋理,根據(jù)攝像機(jī)移動(dòng)的范圍構(gòu)造出兩個(gè)矩形區(qū)域進(jìn)行更新,這一點(diǎn)可能不太容易明白

             大概就這些,匆忙所記下的東西也許會(huì)有錯(cuò)誤,如有TX發(fā)現(xiàn)請(qǐng)不吝指出

             PS: 今天登錄BLOG后發(fā)現(xiàn)有不少留言,大多已經(jīng)是很早前的了,本人不寫文章的時(shí)候很少登錄博客,cppblog好像也沒有方便的回復(fù)留言的功能,所以如  再有想與我交流的朋友請(qǐng)發(fā)郵件給我:zzxhang@gmail.com
            posted on 2010-03-19 14:33 清風(fēng) 閱讀(2107) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 圖形
            国产亚洲精品美女久久久| 亚洲成av人片不卡无码久久 | 久久99九九国产免费看小说| 亚洲国产精品综合久久网络| 无码人妻久久一区二区三区免费| 久久超碰97人人做人人爱| 精品国产91久久久久久久a| 久久天天躁夜夜躁狠狠躁2022| 亚洲∧v久久久无码精品| 国产69精品久久久久99| 亚洲欧美日韩中文久久| 久久国产热这里只有精品| 精品久久久久香蕉网| 久久精品极品盛宴观看| 91精品国产高清久久久久久国产嫩草| 伊人久久大香线蕉无码麻豆| 99国产欧美久久久精品蜜芽| 久久人妻少妇嫩草AV蜜桃| 国产免费久久久久久无码| 久久99国产精品尤物| 婷婷伊人久久大香线蕉AV| 日本精品久久久久影院日本| 亚洲国产成人久久综合一| 久久综合九色综合网站| 久久久精品人妻一区二区三区蜜桃| 久久久综合九色合综国产| 久久精品国产亚洲精品2020 | 久久99热这里只有精品66| 国产精品99久久久久久猫咪| 国产一级持黄大片99久久| 激情伊人五月天久久综合| 亚洲AV无一区二区三区久久| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 色欲综合久久躁天天躁| 欧美激情精品久久久久| 国产精品久久精品| 2020最新久久久视精品爱| 久久综合狠狠综合久久激情 | 7国产欧美日韩综合天堂中文久久久久 | 亚洲国产另类久久久精品| 伊人久久大香线焦AV综合影院 |