色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

正向渲染和延遲渲染彼此之間有什么不同

Dbwd_Imgtec ? 來(lái)源:未知 ? 作者:李倩 ? 2018-03-23 14:09 ? 次閱讀

如果你是一個(gè)游戲開發(fā)者,在你使用的圖形引擎中或多或少都聽說(shuō)過(guò)forward rendering和deferred rendering。通常你必須在你的游戲中選擇一種。但它們是什么,彼此之間有什么不同,我們又該如何選擇呢?

Modern Graphics Pipelines(現(xiàn)代圖形管道)

在開始之前,我們必須要知道一點(diǎn)現(xiàn)代可編程圖形管線的一些知識(shí)。早些時(shí)候,我們被顯卡的功能限制,不能去改變每個(gè)像素的繪制方式,除了發(fā)送一些不同的紋理外,不能去修改頂點(diǎn)的數(shù)據(jù)。現(xiàn)在時(shí)代已經(jīng)改變,我們能夠基于顯卡的圖形管線進(jìn)行編程。我們能夠發(fā)送代碼到顯卡去改變像素的外觀(顏色),使用法線紋理(normal maps)改變它們外觀使其變的突起,也可以添加反射(以及大量的現(xiàn)實(shí)主義)。

此代碼采用幾何,頂點(diǎn)和片段著色器的形式,從本質(zhì)上來(lái)說(shuō),它們控制顯卡如何去渲染對(duì)象。

可編程圖形管道的簡(jiǎn)化視圖

Forward Rendering(正向渲染/前向渲染)

Forward Rendering 是大多數(shù)渲染引擎使用的渲染技術(shù)。你給顯卡提供幾何對(duì)象,它將幾何對(duì)象分解成頂點(diǎn)送入頂點(diǎn)著色器,然后把這些頂點(diǎn)數(shù)據(jù)插值后分別送入片元/像素著色器,然后在它們被送入屏幕前做最終的渲染處理(模板測(cè)試,混合等)。

正向渲染:幾何著色器到頂點(diǎn)著色器來(lái)分割著色器

這是一個(gè)線性的流程,每個(gè)幾何對(duì)象分別通過(guò)渲染管線一步步的處理下去并產(chǎn)生最終的圖像。

Deferred Rendering(延遲渲染)

延遲渲染,從這個(gè)名字來(lái)看就意味著渲染是被延遲的,直到所有幾何對(duì)象都已經(jīng)通過(guò)渲染管線處理后,在最后才應(yīng)用著色(通過(guò)光照來(lái)決定最終的像素顏色)并產(chǎn)生最終的圖像。

那么為什么要這樣來(lái)處理呢?

延遲渲染:幾何到頂點(diǎn)到片段著色器。傳遞給多個(gè)渲染目標(biāo),然后用光照陰影。

延遲照明是對(duì)延遲渲染的修改,通過(guò)在場(chǎng)景中使用更多遍來(lái)減少G緩沖區(qū)的大小。

Lighting Performance(光照性能)

標(biāo)準(zhǔn)前向渲染(Forward Rendering)光照的性能消耗也是為什么要另辟蹊徑選擇其他渲染方式的主要原因。在標(biāo)準(zhǔn)前向渲染(Forward Rendering)管線流程中,每個(gè)燈光都會(huì)在每個(gè)頂點(diǎn)/或片元上執(zhí)行光照計(jì)算,這也就是常說(shuō)的逐頂點(diǎn)光照和逐片元/像素光照。

如果你在場(chǎng)景中有100個(gè)幾何對(duì)象,并且每個(gè)幾何對(duì)象有1000個(gè)頂點(diǎn),你大約就有100000多變形(非常粗略的計(jì)算)。顯卡還能夠很輕松的處理,但是當(dāng)這些多邊形被發(fā)送到片元著色器時(shí), 昂貴的對(duì)燈光消耗會(huì)使性能急劇下降。開發(fā)者可以嘗試放置光照計(jì)算到頂點(diǎn)著色器減少片元著色器對(duì)光照的計(jì)算。

不管它是不是此像素上最頂層的片元,還是被遮擋的片元,昂貴的光照計(jì)算都會(huì)在每個(gè)多邊形的每個(gè)可見片元上執(zhí)行。如果屏幕的分辨率是1024x768,你有將近800000個(gè)像素需要被渲染。你能很輕易的就達(dá)到每幀百萬(wàn)級(jí)的片元操作。并且大多數(shù)的片元還會(huì)被剔除(深度測(cè)試階段),那么對(duì)于此片元的光照就算就白費(fèi)了。

如果你要對(duì)這樣一個(gè)達(dá)到百萬(wàn)級(jí)片元的場(chǎng)景的每一燈光進(jìn)行渲染,那么你在每一幀將躍升的一個(gè)燈光數(shù)量x1000000個(gè)片元的操作上!想象一下你有一個(gè)小鎮(zhèn)的街道上面布滿點(diǎn)光源!!!!!

計(jì)算前向渲染(Forward Rendering)復(fù)雜度的公式參見:big O notatio,復(fù)雜度公式:O(num_geometry_fragments * num_lights)。你能看到這里的復(fù)雜度是和幾何對(duì)象數(shù)量和燈光數(shù)量直接相關(guān)的。

片元是一個(gè)最終可能在屏幕上成為像素的一個(gè)”待轉(zhuǎn)像素“,如果在深度測(cè)試階段不被剔除的話,它將在屏幕上成為屏幕的最終像素。現(xiàn)在一些引擎通過(guò)其他的方式優(yōu)化了光照計(jì)算,比如:剔除非常遠(yuǎn)的燈光,組合燈管或使用 Light maps(非常流行的,但是只能是靜態(tài)的物體)。如果你有大量的燈光需要?jiǎng)討B(tài)光照的話,我們需要一個(gè)更好的解決方案。

Deferred Rendering to the Rescue(前向渲染的救星–延遲渲染)

延遲渲染(Deferred Rendering)是一個(gè)減少光照著色對(duì)象數(shù)量有趣的方法。尤其是對(duì)于總的片元對(duì)象來(lái)說(shuō),執(zhí)行光照的片元數(shù)量直接由屏幕的分辨率決定。

延遲渲染(Deferred Rendering)的復(fù)雜性,在big O notation中是O(screen_resolution * num_lights)。

現(xiàn)在你能明白了,你有多少的光照數(shù)量是由你對(duì)燈光數(shù)量的使用來(lái)決定的。所以你能很高興的增加你的燈光數(shù)量。(這不意味著你可以有無(wú)限的幾何對(duì)象,它們還是要經(jīng)過(guò)管線的及其他處理才能到G-Buffer中。)

The Guts of Deferred Rendering(延遲渲染的細(xì)節(jié))

每個(gè)幾何對(duì)象被渲染,但是沒有使用光照,使用多目標(biāo)渲染(multiple render targets),繪制出多個(gè)屏幕空間大小的Buffer。深度,法線和顏色分別寫入各自的buffers(圖像)。然后,這些Buffers和每個(gè)燈光像的素顏色進(jìn)行合成,最后生成最終的圖像。

顏色,深度和正常緩沖區(qū)。(圖片由astrofa,通過(guò)維基共享資源。)

最終照明(陰影)使用三個(gè)緩沖區(qū)生成結(jié)果。(圖片由astrofa,通過(guò)維基共享資源。)

選擇哪一個(gè)呢?

一個(gè)最簡(jiǎn)短的回答是:如果你使用了大量燈光那么你就該使用延遲渲染(Deferred Rendering)了。但是延遲渲染(Deferred Rendering)也有一些明顯的缺點(diǎn):

? 這個(gè)處理需要顯卡支持多目標(biāo)渲染,老的顯卡是不支持的,所有不能在上面工作,對(duì)于這個(gè)是沒有變通的方案的,除非強(qiáng)制要求客服換顯卡。

? 它需要高帶寬的顯卡,你要發(fā)送大的Buffer數(shù)據(jù),老大的顯卡可能處理不了。對(duì)于這個(gè)也沒有變通的方案的,除非強(qiáng)制要求客服換顯卡。

? 你不能使用透明對(duì)象。(除非你聯(lián)合 使用deferred rendering 和Forward Rendering )。

? 沒有抗鋸齒。

? 僅有一個(gè)類型的材質(zhì)被允許,除非你使用了被叫做Deferred Lighting的延遲渲染修改。

? 陰影依賴于光照的數(shù)量,延遲渲染沒有解決任何陰影的問(wèn)題。

如果你沒有大量的燈光或者你想能夠在比較老的顯卡上允許,你應(yīng)該選擇使用前向渲染(Forward Rendering)并且替換你的燈光使用靜態(tài)光照貼圖。這個(gè)結(jié)果看起來(lái)還是令人吃驚的。

總結(jié)

我希望擺脫一些光照的主題。在這里你的選擇是解決渲染問(wèn)題,但是在游戲開始之前就做出正確的選擇是非常重要的,因?yàn)榭梢员苊馊蘸蟮男薷摹?/p>

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 顯卡
    +關(guān)注

    關(guān)注

    16

    文章

    2431

    瀏覽量

    67576
  • 渲染
    +關(guān)注

    關(guān)注

    0

    文章

    69

    瀏覽量

    10917

原文標(biāo)題:正向渲染和延遲渲染的區(qū)別

文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    OpenHarmony Sheet 表格渲染引擎

    是對(duì)鴻蒙的原生 組件的封裝接口,用于幫助你接受用戶在界面中的輸入,然后配合 this.table.xx 將數(shù)據(jù)層的數(shù)據(jù)渲染到表格渲染層,這里的輸入需要真機(jī)調(diào)試,因?yàn)檎鏅C(jī)自帶輸入法,實(shí)測(cè)
    發(fā)表于 01-05 16:32

    HarmonyOS實(shí)戰(zhàn)開發(fā)-合理選擇條件渲染和顯隱控制

    和組件復(fù)用 針對(duì)反復(fù)切換條件渲染的控制分支,且控制分支中的每種分支內(nèi),組件子樹結(jié)構(gòu)都比較復(fù)雜的場(chǎng)景,當(dāng)可以復(fù)用的組件情況時(shí),可以用組件復(fù)用配合條件渲染的方式提升性能。下面示例通過(guò)定義一個(gè)自定義復(fù)雜子組件
    發(fā)表于 05-10 15:16

    LWRP的渲染流程

    LWRP渲染流程梳理
    發(fā)表于 01-21 07:01

    一文詳解渲染管線

    渲染管線簡(jiǎn)單梳理
    發(fā)表于 02-03 07:13

    請(qǐng)問(wèn)TableLayout圖片是用什么渲染的?

    TableLayout圖片是用什么渲染的,服務(wù)器返回的是網(wǎng)絡(luò)圖片String格式的。
    發(fā)表于 03-24 11:29

    缺少VGlite字體渲染api文檔,求分享

    我試圖使用 vglite api 在 MIMXRT1166/1176 上使用 verisilicon gpu 渲染圖形,并且特別缺乏關(guān)于此的文檔。 我能夠很好地初始化 GPU 并渲染矢量和光柵對(duì)象
    發(fā)表于 04-24 06:42

    HarmonyOS/OpenHarmony應(yīng)用開發(fā)-ArkTS語(yǔ)言渲染控制概述

    ArkUI通過(guò)自定義組件的build()函數(shù)和@builder裝飾器中的聲明式UI描述語(yǔ)句構(gòu)建相應(yīng)的UI。 在聲明式描述語(yǔ)句中開發(fā)者除了使用系統(tǒng)組件外,還可以使用渲染控制語(yǔ)句來(lái)輔助UI的構(gòu)建,這些
    發(fā)表于 08-09 09:54

    HarmonyOS/OpenHarmony應(yīng)用開發(fā)-ArkTS語(yǔ)言渲染控制ForEach循環(huán)渲染

    首次渲染時(shí)構(gòu)建所有數(shù)組項(xiàng)。后續(xù)框架版本中可能會(huì)將此行為更改為延遲加載模式。 使用 index參數(shù)對(duì)UI更新性能有嚴(yán)重的負(fù)面影響,請(qǐng)盡量避免。 如果項(xiàng)構(gòu)造函數(shù)中使用index參數(shù),則項(xiàng)索引函數(shù)中也必須
    發(fā)表于 08-18 10:50

    HarmonyOS/OpenHarmony應(yīng)用開發(fā)-ArkTS語(yǔ)言渲染控制if/else條件渲染

    ArkTS提供了渲染控制的能力。條件渲染可根據(jù)應(yīng)用的不同狀態(tài),使用if、else和else if渲染對(duì)應(yīng)狀態(tài)下的UI內(nèi)容。說(shuō)明:從API version 9開始,該接口支持在ArkTS卡片中使用。一
    發(fā)表于 08-21 14:29

    PowerVR圖像架構(gòu):延遲渲染

    在上一篇文章中,我談到了GPU架構(gòu)的工作原理。這是一個(gè)比較新穎的架構(gòu),與其他架構(gòu)的工作方式不太相同,我們稱之為基于區(qū)塊貼圖的延遲渲染或TBDR。從概念而言,其基本前提非常簡(jiǎn)單。 首先,我們把屏幕分成
    發(fā)表于 02-10 06:43 ?576次閱讀
     PowerVR圖像架構(gòu):<b class='flag-5'>延遲</b><b class='flag-5'>渲染</b>

    高通驍龍865移動(dòng)平臺(tái)首次將“端游級(jí)正向渲染”帶入安卓平臺(tái)

    高通驍龍865移動(dòng)平臺(tái)首次將“端游級(jí)正向渲染”帶入安卓平臺(tái)。作為新一代 Snapdragon Elite Gaming的特性之一,端游級(jí)正向渲染旨在讓我們獲得更好、更真實(shí)、更愿意沉浸其
    的頭像 發(fā)表于 05-29 10:38 ?2821次閱讀

    一文詳解CPU渲染和GPU渲染之間的優(yōu)劣

    CPU 渲染利用計(jì)算機(jī)的 CPU 來(lái)執(zhí)行場(chǎng)景并將其渲染到接近完美。這也是執(zhí)行渲染的更傳統(tǒng)方式。然而,隨著 GPU 的出現(xiàn),基于 GPU 的渲染獲得了很大的普及。
    的頭像 發(fā)表于 03-08 14:50 ?2304次閱讀

    揭秘:實(shí)時(shí)渲染、離線渲染、云渲染和混合渲染的區(qū)別

    渲染,就是將3D模型轉(zhuǎn)換成2D圖像,并最終呈現(xiàn)在屏幕上的過(guò)程。常見的渲染類型以下幾種:實(shí)時(shí)渲染離線渲染
    的頭像 發(fā)表于 12-26 08:27 ?811次閱讀
    揭秘:實(shí)時(shí)<b class='flag-5'>渲染</b>、離線<b class='flag-5'>渲染</b>、云<b class='flag-5'>渲染</b>和混合<b class='flag-5'>渲染</b>的區(qū)別

    探索渲染技術(shù)與云渲染的魅力!

    在數(shù)字藝術(shù)和計(jì)算機(jī)圖形領(lǐng)域中,渲染技術(shù)占據(jù)著至關(guān)重要的地位。隨著科技的進(jìn)步,云渲染作為一種新興的渲染方式,正逐漸受到業(yè)界的關(guān)注和應(yīng)用。本文將對(duì)渲染技術(shù)和云
    的頭像 發(fā)表于 04-12 08:30 ?284次閱讀
    探索<b class='flag-5'>渲染</b>技術(shù)與云<b class='flag-5'>渲染</b>的魅力!

    CPU渲染和GPU渲染優(yōu)劣分析

    使用計(jì)算機(jī)進(jìn)行渲染時(shí),兩種流行的系統(tǒng):基于中央處理單元(CPU)或基于圖形處理單元(GPU)。CPU渲染利用計(jì)算機(jī)的CPU來(lái)執(zhí)行場(chǎng)景并將其渲染到接近完美。這也是執(zhí)行
    的頭像 發(fā)表于 05-23 08:27 ?589次閱讀
    CPU<b class='flag-5'>渲染</b>和GPU<b class='flag-5'>渲染</b>優(yōu)劣分析
    主站蜘蛛池模板: 青青青久久久| 日韩欧美一区二区三区免费观看| 双性h浪荡受bl| 18美女腿打开无遮软件| 国产精品v欧美精品v日韩| 女人操男人| 一本道在线综合久久88| 国产AV视频二区在线观看| 六度影院最新| 亚洲zooz人禽交xxxx| 成人在线观看视频免费| 免费观看亚洲视频| 野花韩国中文版免费观看| 国产精品久久久久久人妻精品蜜桃 | 亚洲成人99| 大陆女人内谢69XXXORG| 免费毛片在线视频| 亚洲综合日韩中文字幕v在线| 十次啦中文网| babesvideos欧美最新| 十八禁肉动漫无修在线播放| 美女被爆插| 狠狠人妻久久久久久综合九色| 亚洲AV天堂无码麻豆电影 | 奶头好翘是不是想要了| 亚洲成人精品久久| 福利片福利一区二区三区| 国产毛片A级久久久不卡精品| 欧美黄色第一页| 1300部真实小Y女视频合集| 精品久久久久中文字幕| 亚洲444777KKK在线观看| 国产爱豆剧果冻传媒在线| 人妻免费视频公开上传| avav去吧| 女人的选择hd| 97ganmeizi| 免费看黄的片多多APP下载| 2019久久视频这里有精品15| 九色PORNY蝌蚪视频首页| 亚洲欧美日韩精品自拍|