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

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

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

簡單梳理渲染管線

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2021-01-20 22:27 ? 次閱讀

圖形渲染管線

pIYBAGAIPViAM3D3AAMoZnP6WK4951.png

應(yīng)用程序階段

主要任務(wù)是在應(yīng)用程序階段的末端,將需要在屏幕上顯示出來繪制的集合體(如點(diǎn)、線、矩陣等)輸入到繪制管線的下一個階段。

對于被渲染的每一幀,應(yīng)用程序階段將攝像機(jī)位置,光照和模型的圖元輸出到管線的下一個主要階段——幾何階段。

幾何階段

可以劃分為一下幾個功能階段:

模型視圖變換 Model & View Transform:分為模型變換和視圖變換,模型變換即旋轉(zhuǎn)、平移、縮放,視圖變換可以理解為將模型轉(zhuǎn)到相機(jī)坐標(biāo)系下。

頂點(diǎn)著色 Vertex Shading:確定模型上頂點(diǎn)處材質(zhì)的光照效果。

投影 Projection:將視體變換到規(guī)范立方體(Canonical View Volume,CVV)中,模型位于歸一化設(shè)備坐標(biāo)系中(NDC)。分為正交投影和透視投影,Z 坐標(biāo)將不會再保存于的得到的投影圖片中,所以就是將模型從三維空間投射到了二維的空間中的過程。

裁剪 Clipping:對部分位于視體內(nèi)部的圖元進(jìn)行裁剪操作。

屏幕映射 Screen Mapping:將之前得到的坐標(biāo)映射到對應(yīng)的屏幕坐標(biāo)系上。

光柵化階段

可以分為以下幾個功能階段:

三角形設(shè)定(Triangle Setup)階段:計算三角形表面的差異和三角形表面的其他相關(guān)數(shù)據(jù)。

三角形遍歷(Triangle Traversal)階段:找到哪些采樣點(diǎn)或像素在三角形中的過程。

像素著色(Pixel Shading)階段:所有逐像素的著色計算都在像素著色階段進(jìn)行,使用插值得來的著色數(shù)據(jù)作為輸入,輸出結(jié)果為一種或多種將被傳送到下一階段的顏色信息。紋理貼圖操作就是在這階段進(jìn)行的。

融合(Merging)階段:合成當(dāng)前儲存于緩沖器中的由之前的像素著色階段產(chǎn)生的片段顏色。此外,融合階段還負(fù)責(zé)可見性問題(Z 緩沖相關(guān))的處理。

GPU渲染管線

o4YBAGAIPZqAYMATAAOCkBelIZo448.png

o4YBAGAIPdqAFG23AAHddwZiHuE597.png

綠色的階段是完全可編程

黃色的階段可配置,但不可編程

藍(lán)色的階段完全固定

頂點(diǎn)著色器(The Vertex Shader)

是完全可編程的階段,頂點(diǎn)著色器可以對每個頂點(diǎn)進(jìn)行諸如變換和變形在內(nèi)的很多操作,提供了修改/創(chuàng)建/忽略頂點(diǎn)相關(guān)屬性的功能,這些頂點(diǎn)屬性包括顏色、法線、紋理坐標(biāo)和位置。頂點(diǎn)著色器的必須完成的任務(wù)是將頂點(diǎn)從模型空間轉(zhuǎn)換到齊次裁剪空間。

幾何著色器(The Geometry Shader)

位于頂點(diǎn)著色器之后,允許 GPU 高效地創(chuàng)建和銷毀幾何圖元。幾何著色器是可選的,完全可編程的階段,主要對圖元(點(diǎn)、線、三角形)的頂點(diǎn)進(jìn)行操作。幾何著色器接收頂點(diǎn)著色器的輸出作為輸入,通過高效的幾何運(yùn)算,將數(shù)據(jù)輸出,數(shù)據(jù)隨后經(jīng)過幾何階段和光柵化階段的其他處理后,會發(fā)送給片段著色器。

裁剪(Clipping)

屬于可配置的功能階段,在此階段可選運(yùn)行的裁剪方式,以及添加自定義的裁剪
面。

屏幕映射(Screen Mapping)、三角形設(shè)置(Triangle Setup)和三角形遍歷(Triangle Traversal)階段是固定功能階段。

像素著色器(Pixel Shader)

像素著色器(Pixel Shader, Direct3D 中的叫法)常常又稱為片斷著色器,片元著色器(FragmentShader, OpenGL 中的叫法),是完全可編程的階段,主要作用是進(jìn)行像素的處理,讓復(fù)雜的著色方程在每一個像素上執(zhí)行。

合并階段(The Merger Stage)

處于完全可編程和固定功能之間,盡管不能編程,但是高度可配置,可以進(jìn)行一系列的操作。其除了進(jìn)行合并操作,還分管顏色修改(Color Modifying), Z 緩沖(Zbuffer),混合(Blend),模板(Stencil)和相關(guān)緩存的處理。

來源:《Real-Time Rendering 3rd》提煉總結(jié)

審核編輯 黃昊宇

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

    關(guān)注

    0

    文章

    70

    瀏覽量

    10937
收藏 人收藏

    評論

    相關(guān)推薦

    三、麥克風(fēng)陣列類型及分類之細(xì)致梳理

    麥克風(fēng)陣列,作為聲學(xué)領(lǐng)域的關(guān)鍵技術(shù),擁有多種類型,每種類型都以獨(dú)特的排列方式和卓越的性能,在不同的應(yīng)用場景中發(fā)揮著重要作用,下面將為您細(xì)致梳理其類型與分類,展現(xiàn)麥克風(fēng)陣列的奇妙世界。
    的頭像 發(fā)表于 12-29 00:00 ?128次閱讀
    三、麥克風(fēng)陣列類型及分類之細(xì)致<b class='flag-5'>梳理</b>

    如何優(yōu)化SSR渲染性能

    服務(wù)器端渲染(SSR)是一種將前端頁面在服務(wù)器端生成的技術(shù),它可以提高首屏加載速度,改善SEO,并提供更好的用戶體驗(yàn)。然而,SSR也可能帶來性能挑戰(zhàn),尤其是在處理大量請求時。以下是一些優(yōu)化SSR渲染
    的頭像 發(fā)表于 11-18 11:31 ?401次閱讀

    簡述大前端技術(shù)棧的渲染原理

    應(yīng)用開發(fā):Android、iOS、鴻蒙(HarmonyOS)等; ?Web前端框架:Vue、React、Angular等; ?小程序開發(fā):微信小程序、京東小程序、支付寶小程序等; ?跨平臺解決方案:React Native、Flutter、Taro、Weex等。 什么是渲染 ?
    的頭像 發(fā)表于 11-07 10:11 ?277次閱讀

    動畫渲染用GPU還是CPU的選擇思路

    對話Imagination中國區(qū)董事長:以GPU為支點(diǎn)加強(qiáng)軟硬件協(xié)同,助力數(shù)【白皮書下載】分布式功能安全的創(chuàng)新與突破本文來源:渲染101動畫渲染動畫渲染是一個計算密集型的過程,需要強(qiáng)大的硬件支持
    的頭像 發(fā)表于 09-28 08:05 ?302次閱讀
    動畫<b class='flag-5'>渲染</b>用GPU還是CPU的選擇思路

    一文講清游戲引擎技術(shù):前向渲染與延遲渲染

    在游戲的絢麗世界中,燈光如同一位巧奪天工的畫家,用其獨(dú)特的手法為每一個場景披上神秘而誘人的外衣。不論是在追求真實(shí)質(zhì)感的3A級大作中,還是在充滿奇幻色彩的非現(xiàn)實(shí)渲染作品中,燈光始終是那不可或缺的魔法之
    的頭像 發(fā)表于 07-26 14:47 ?380次閱讀
    一文講清游戲引擎技術(shù):前向<b class='flag-5'>渲染</b>與延遲<b class='flag-5'>渲染</b>

    在NVIDIA Holoscan SDK中使用OpenCV構(gòu)建零拷貝AI傳感器處理管線

    NVIDIA Holoscan 是 NVIDIA 的跨領(lǐng)域多模態(tài)實(shí)時 AI 傳感器處理平臺,為開發(fā)者構(gòu)建端到端傳感器處理管線奠定了基礎(chǔ)。
    的頭像 發(fā)表于 07-02 11:50 ?574次閱讀
    在NVIDIA Holoscan SDK中使用OpenCV構(gòu)建零拷貝AI傳感器處理<b class='flag-5'>管線</b>

    深入理解渲染引擎:打造逼真圖像的關(guān)鍵

    在數(shù)字世界中,圖像渲染是創(chuàng)造逼真視覺效果的核心技術(shù)。渲染引擎,作為這一過程中的關(guān)鍵組件,負(fù)責(zé)將二維或三維的模型、紋理、光照等數(shù)據(jù)轉(zhuǎn)化為人們?nèi)庋劭梢姷亩S圖像。本文將深入探討渲染引擎的工作原理及其在打
    的頭像 發(fā)表于 06-29 08:28 ?372次閱讀
    深入理解<b class='flag-5'>渲染</b>引擎:打造逼真圖像的關(guān)鍵

    VIVERSE 推行實(shí)時3D渲染: 探索Polygon Streaming技術(shù)力量與應(yīng)用

    在商業(yè)領(lǐng)域和娛樂行業(yè)中,3D渲染技術(shù)一直是推動視覺體驗(yàn)革新的關(guān)鍵力量。隨著技術(shù)的進(jìn)步,實(shí)時3D渲染技術(shù)逐漸成為主流,近期VIVERSE平臺對外發(fā)布引入一項(xiàng)全新技術(shù)——Polygon
    的頭像 發(fā)表于 05-31 15:49 ?2372次閱讀
    VIVERSE 推行實(shí)時3D<b class='flag-5'>渲染</b>: 探索Polygon Streaming技術(shù)力量與應(yīng)用

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

    使用計算機(jī)進(jìn)行渲染時,有兩種流行的系統(tǒng):基于中央處理單元(CPU)或基于圖形處理單元(GPU)。CPU渲染利用計算機(jī)的CPU來執(zhí)行場景并將其渲染到接近完美。這也是執(zhí)行渲染的更傳統(tǒng)方式。
    的頭像 發(fā)表于 05-23 08:27 ?682次閱讀
    CPU<b class='flag-5'>渲染</b>和GPU<b class='flag-5'>渲染</b>優(yōu)劣分析

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

    創(chuàng)建與銷毀,可以提高性能。 條件渲染 針對應(yīng)用冷啟動,加載繪制首頁時,如果組件初始不需要顯示的場景,下面示例通過初始時,隱藏1000個Text組件,來簡單復(fù)現(xiàn)該場景,并進(jìn)行正反例性能數(shù)據(jù)的對比。 反例
    發(fā)表于 05-10 15:16

    【RTC程序設(shè)計:實(shí)時音視頻權(quán)威指南】音頻采集與渲染

    在進(jìn)行視頻的采集與渲染的同時,我們還需要對音頻進(jìn)行實(shí)時的采集和渲染。對于rtc來說,音頻的實(shí)時性和流暢性更加重要。 聲音是由于物體在空氣中振動而產(chǎn)生的壓力波,聲波的存在依賴于空氣介質(zhì),那么聲音有
    發(fā)表于 04-28 21:00

    【RTC程序設(shè)計:實(shí)時音視頻權(quán)威指南】視頻采集與渲染

    定義圖片渲染管線的各個階段的操作。實(shí)際上,著色器的程序是在顯卡上執(zhí)行的小型程序,獲得最終的像素顏色。數(shù)字視頻目前已經(jīng)發(fā)展到超高清視頻階段,數(shù)字視頻在娛樂,通信,廣告,教育等領(lǐng)域發(fā)揮著越來越重要的作用。目前存在幾種主流的視頻格式提在編碼方式壓縮,要支持的功能和適用場景上都存
    發(fā)表于 04-25 08:40

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

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

    鴻蒙ArkUI開發(fā)學(xué)習(xí):【渲染控制語法】

    ArkUI開發(fā)框架是一套構(gòu)建 HarmonyOS / OpenHarmony 應(yīng)用界面的聲明式UI開發(fā)框架,它支持程序使用?`if/else`?條件渲染,?`ForEach`?循環(huán)渲染以及?`LazyForEach`?懶加載渲染
    的頭像 發(fā)表于 04-09 16:40 ?1043次閱讀
    鴻蒙ArkUI開發(fā)學(xué)習(xí):【<b class='flag-5'>渲染</b>控制語法】

    探索渲染技術(shù)的魅力:讓虛擬與現(xiàn)實(shí)融為一體

    在當(dāng)今數(shù)字化時代,渲染技術(shù)作為計算機(jī)圖形學(xué)的重要分支,正逐漸成為各行各業(yè)的熱門話題。無論是電影、游戲、建筑設(shè)計還是工業(yè)制造,渲染技術(shù)都扮演著不可或缺的角色。通過渲染技術(shù),我們可以將虛擬世界呈現(xiàn)得
    的頭像 發(fā)表于 03-26 08:26 ?620次閱讀
    探索<b class='flag-5'>渲染</b>技術(shù)的魅力:讓虛擬與現(xiàn)實(shí)融為一體