• <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>

            永遠也不完美的程序

            不斷學習,不斷實踐,不斷的重構……

            常用鏈接

            統計

            積分與排名

            好友鏈接

            最新評論

            游戲中各種特效的實現方法。

            這里說的是一些常規的人沒考慮到的效果。

            1、精確拾取的實現
            一般普通的拾取就是AABB,再是OBB,或者是遍歷一個模型的面。這三種方式都有缺陷。
            現在說一種方法:就是為每個渲染物或者說是Entity附一個唯一的顏色值,然后創建一個與屏幕大小一樣的RTT,把這些模型渲染到這個個RTT上,在這個渲染過程中,不需要傳入模型的紋理,只需要把顏色作為輸出顏色。最后通過鼠標在屏幕的XY位置就可以索引出這張紋理的顏色,根據這個顏色就知道了哪個模型被拾取。


            2、勾邊的實現
            當一個模型被拾取時,在shader中要根據每個頂點的發線把頂點擴大一定距離,然后把勾邊的顏色作為輸出顏色渲染。然后還要把這次pass的cull反過來。

            3、部分像素擾動。
            有些特效會在場景中有擾動的效果,這種實現方法是把這個特效的范圍作為一個RTT,在渲染這個RTT的過程中把像素扭曲,然后再輸出。

            4、LightPrePass
            LightPrePass的實現與延遲渲染的實現類似延遲渲染。
            首先把場景渲染到GBuffer,GBuffer由2或3張紋理組成,分別代表深度(R32F),法線(RGBA),或者材質信息。
            (我的做法是:深度只用R代表,因為只能存放0,1之間的值,所以我的深度值用View空間的值再除FarPlane,到時在LightBuffer中要轉回LightBuffer的計算空間)

            第二步是計算點光源和太陽光的效果,生成一張紋理lightbuffer。
            最后是場景渲染時要取lightbuffer紋理給模型著色。
            和deferred shading的最大區別是:deferred lighting場景要渲染兩次,而deferred shading只需要渲染一次

            5、deferred shading和 lightprepass的區別
            deferred shading和lightprepass最終的效果是差不多的,但實現起來有區別:
            deferred shading整個場景至少只需要渲染一次;lightprepass要至少渲染兩次。
            deferred shading場景渲染一次時生成至少三張圖:color,depth,normal。
            最終再用這三張圖來合成最后的畫面。
            lightprepass是第一次渲染場景只生成depth和normal。
            第二次渲染場景的時候把depth和normal作為每個物件的必要紋理傳進去,然后進行光照著色。
            這里提出一個疑問:為什么不需要position圖?因為只要有depth,在最后一步可通過viewproj矩陣的逆矩陣求出對應的世界坐標位置。

            posted on 2013-08-17 13:22 狂爛球 閱讀(1542) 評論(1)  編輯 收藏 引用 所屬分類: 圖形編程

            評論

            # re: 游戲中各種特效的實現方法。 2015-03-11 15:31 為什么要給毛孔進行補水

            一篇不錯的文章教材,學習了  回復  更多評論   

            国产69精品久久久久777| 亚洲av日韩精品久久久久久a| 久久综合狠狠色综合伊人| 91久久香蕉国产熟女线看| 香港aa三级久久三级老师2021国产三级精品三级在 | 天天做夜夜做久久做狠狠| 色综合久久无码五十路人妻| 国产高清国内精品福利99久久| 久久国产精品一区二区| 国产色综合久久无码有码| 亚洲国产精品久久久久婷婷老年| 大香伊人久久精品一区二区| 嫩草影院久久国产精品| 欧美日韩精品久久久免费观看| 香蕉久久一区二区不卡无毒影院| 久久人人爽人人爽人人爽| 99久久伊人精品综合观看| 亚洲乱码精品久久久久..| 一本久道久久综合狠狠躁AV| 国产精品美女久久久久av爽| 久久久亚洲欧洲日产国码二区 | 色狠狠久久AV五月综合| 久久亚洲高清综合| 欧美精品一本久久男人的天堂| 久久精品国产免费观看三人同眠| 久久精品中文字幕一区| 久久亚洲国产中v天仙www| 国产精品一久久香蕉国产线看 | 久久久久久久久久久免费精品| 97久久超碰成人精品网站| 久久久久亚洲精品天堂| 久久中文字幕人妻丝袜| 国产成人精品三上悠亚久久| 国产69精品久久久久APP下载 | 亚洲国产精品无码成人片久久| 久久强奷乱码老熟女网站| 精品久久久久中文字幕一区| 成人国内精品久久久久影院VR| 久久亚洲国产精品一区二区| 国内精品免费久久影院| 久久久久一级精品亚洲国产成人综合AV区 |