<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                文章鏈接:http://url.cn/OzAQM8 ![](https://box.kancloud.cn/2016-04-28_57215543a72bc.jpg) 主要講即時戰略游戲CompanyOfHeroes2在冬天環境下的一些渲染技術,文章結合硬件以及游戲的實際情況,在每一種方法背后,還列出思考和嘗試的過程,很實戰的一篇。 **物件上的積雪** **積雪** relic試圖做geometry上的積累,但是這個要達到好的效果,就需要有一個很好的積雪邊緣fading的效果,這個要做好,就需要offline工具來生成這些邊緣和normal的信息。 并且需要在shader里面產生geometry,并且有很多例外,所以最后relic放棄了這個做法。 進而relic結合了company of heroes的特點,2.5d的上帝視角,所以其實做了geometry積累也沒有那么大的意義,轉而來讓雪可以在color上fade掉就可以: ![](https://box.kancloud.cn/2016-04-28_57215543c9c79.jpg) 那這個就容易太多了,在vertex shader里面計算出要積雪的distance,在pixel shader里面fade out即可。 **snow shadow map** 讓最上面的地方才有積雪,這個用一個低精度的類似shadow map即可得到occlusion信息,潮濕什么的都可以這么做。 另外這個shadow map可以進行一些擴展,記錄min/max height, relic使用這個做了邊緣fade out的改進,使得效果更加的自然。 **地形上的雪** 地形上的雪是額外的一層,不屬于地形標準層的一部分。 自己可以有高度。 dx11上面使用tesselation來提升效果。 ![](https://box.kancloud.cn/2016-04-28_57215543e31a5.jpg) ![](https://box.kancloud.cn/2016-04-28_5721554413f20.jpg) 車輛在雪地上的痕跡通過一個track map來描述,dx11就是用tessellation來生成geometry,dx10(dx9已經去死了)上面只是normal變下。 ![](https://box.kancloud.cn/2016-04-28_572155442c9eb.jpg) **冰** ![](https://box.kancloud.cn/2016-04-28_572155444883a.jpg) 這里著實讓我興奮了下: 冰使用類似地形的多層材質的方法來渲染,這樣冰的破損,再凍回來都可以有一個很好的表示,realtime時候的做法就和編輯地形材質一樣,在material mask上面修改即可。 但是冰的破損如果只是這樣,邊緣就太潤滑了,而且mask精度低的話,還會有明顯的“格子”感,這里relic使用類似shadow中poisson filter的方法,使用一個貼圖擾動uv,來達成碎冰狀的感覺: ![](https://box.kancloud.cn/2016-04-28_5721554462931.jpg) **volume ambient occlusion** 這里也展示了relic良好的技術結合產品的綜合能力。 - 雪地場景的ao是格外的重要----場景顏色簡單,偏白色(簡直就是展示ao的專用場景么) - rts游戲沒有必要做到那么精細的ao - 重用snow shadow map來產生ao,而且這個ao是volume based,而不是screen space這種在理論上還是有不少信息缺失的情況 效果不俗: ![](https://box.kancloud.cn/2016-04-28_5721554486a74.jpg) **其他** **暴風雪的優化**: 使用1/4 buffer,可以大幅度提高性能 **deferred shading**: 和之前在本博客提到的多個地方也比較一致,deferred shading如果只是認為為多光源而生就太不到位了,它很好的簡化了渲染pipeline,把geometry&material信息與shading分開,提升了整個pipeline的結構。 如果pipeline復雜到一定程度,那么選擇deferred shading就是非常必要的了
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看