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

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

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

GPU渲染過程的幾個(gè)階段

Dbwd_Imgtec ? 來源:工程師曾玲 ? 2019-02-02 11:38 ? 次閱讀

GPU的渲染流水線的主要任務(wù)是完成3D模型到圖像的渲染(render)工作。常用的圖形學(xué)API編程模型中的渲染過程被分為幾個(gè)可以并行處理的階段,分別由GPU中渲染流水線的不同單元進(jìn)行處理。GPU輸入的模型是數(shù)據(jù)結(jié)構(gòu)(或語言)定義的對(duì)三維物體的描述,包括幾何、方向、物體表面材質(zhì)以及光源所在位置等;而GPU輸出的圖像則是從觀察點(diǎn)對(duì)3D場(chǎng)景觀測(cè)到的二維圖像。在GPU渲染流水線的不同階段,需要處理的對(duì)象分別是頂點(diǎn)(vertex)、幾何圖元(primitive)、片元(fragment)、像素(pixel)。

如圖1-1所示,典型的渲染過程可以分為以下幾個(gè)階段:

1.頂點(diǎn)生成

圖形學(xué)API用簡(jiǎn)單的圖元(點(diǎn)、線、三角形)表示物體表面。每個(gè)頂點(diǎn)除了( x , y , z ) 三維坐標(biāo)屬性外還有應(yīng)用程序自定義屬性,例如位置、顏色、標(biāo)準(zhǔn)向量等。

2.頂點(diǎn)處理

本階段主要是通過計(jì)算把三維頂點(diǎn)坐標(biāo)映射到二維屏幕,計(jì)算各頂點(diǎn)的亮度值等。這個(gè)階段是可編程的,由vertex shader完成。輸入與輸出一一對(duì)應(yīng),即一個(gè)頂點(diǎn)被處理后仍然是一個(gè)頂點(diǎn),各頂點(diǎn)間的處理相互獨(dú)立,可以并行完成。

3.圖元生成

根據(jù)應(yīng)用程序定義的頂點(diǎn)拓?fù)溥壿?,把上階段輸出的頂點(diǎn)組織起來形成有序的圖元流。頂點(diǎn)拓?fù)溥壿嫸x了圖元在輸出流中的順序,一個(gè)圖元記錄由若干頂點(diǎn)記錄組成。

4.圖元處理

這一階段也是可編程的,由geometry shader完成。輸入和輸出不是一一對(duì)應(yīng),一個(gè)圖元被處理后可以生成0個(gè)或者多個(gè)圖元,各圖元處理也是相互獨(dú)立的。本階段輸出一個(gè)新的圖元流。

5.片元生成

這一階段將對(duì)每一個(gè)圖元在屏幕空間進(jìn)行采樣,即光柵化。每一個(gè)采樣點(diǎn)對(duì)應(yīng)一個(gè)片元記錄,記錄該采樣點(diǎn)在屏幕空間中的位置、與視點(diǎn)之間的距離以及通過插值獲得的頂點(diǎn)屬性等。

6.片元處理

片元處理階段是可編程的,由pixel shader完成,主要完成圖形的填色功能。模擬光線和物體表面的交互作用,決定每個(gè)片元的顏色及透明程度等屬性。

7.像素操作

用每個(gè)片元的屏幕坐標(biāo)來計(jì)算該片元對(duì)最終生成圖像上的像素的影響程度。本階段計(jì)算每個(gè)采樣點(diǎn)離視點(diǎn)的距離,丟棄被遮擋住的片元。當(dāng)來自多個(gè)圖元的片元影響同一個(gè)像素時(shí),往往都根據(jù)圖元處理輸出流中定義的圖元位置進(jìn)行像素更新。

下面以繪制一朵玫瑰為例來說明GPU圖形流水線的工作流程。

首先,GPU從顯存讀取描述玫瑰3D外觀的頂點(diǎn)數(shù)據(jù),生成一批反映三角形場(chǎng)景位置與方向的頂點(diǎn);

由vertex shader計(jì)算2D坐標(biāo)和亮度值,在屏幕空間繪出構(gòu)成玫瑰的頂點(diǎn);

頂點(diǎn)被分組成三角形圖元;

geometry shader進(jìn)行進(jìn)一步細(xì)化,生成更多圖元;

隨后,GPU中的固定功能單元對(duì)這些圖元進(jìn)行光柵化,生成相應(yīng)的片元集合;

由pixel shader從顯存中讀取紋理數(shù)據(jù)對(duì)片元上色和渲染;

最后一個(gè)階段,根據(jù)片元信息更新玫瑰圖像,主要是可視度的處理。

由ROP完成像素到幀緩沖區(qū)的輸出,幀緩沖區(qū)中的數(shù)據(jù)經(jīng)過D/A輸出到顯示器上以后,就可以看到繪制完成的玫瑰圖像了。

GPU渲染過程的幾個(gè)階段

圖 1-1

圖形渲染過程具有內(nèi)在的并行性:頂點(diǎn)之間、圖元之間、片元之間的數(shù)據(jù)相關(guān)性很弱,對(duì)它們的計(jì)算可以獨(dú)立并行進(jìn)行。這使得通過并行處理提高吞吐量成為可能。

首先,渲染流水線具有時(shí)間上的功能并行。流水線的各級(jí)可以同時(shí)工作,當(dāng)各級(jí)都能滿負(fù)荷工作時(shí),能夠獲得最高性能。

其次,渲染流水線具有數(shù)據(jù)并行性。不僅可以通過SIMD提高每一個(gè)可編程著色器的性能,還可以在一個(gè)GPU內(nèi)集成多條渲染流水線實(shí)現(xiàn)更高的吞吐量。

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

    關(guān)注

    27

    文章

    4590

    瀏覽量

    128132
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1461

    瀏覽量

    61488

原文標(biāo)題:GPU渲染流水線

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    賽昉科技VisionFiv2上的GPU渲染測(cè)試,平均60幀每秒,非常絲滑

    gpu渲染
    xusiwei1236
    發(fā)布于 :2023年12月24日 21:23:11

    Centos6的引導(dǎo)過程分為哪幾個(gè)階段

    Centos6的引導(dǎo)過程分為哪幾個(gè)階段呢?這些階段分別有哪些作用?
    發(fā)表于 10-19 06:36

    BootLoader啟動(dòng)過程分為哪幾個(gè)階段

    BootLoarder是什么?BootLoader的操作模式有哪幾種呢?BootLoader啟動(dòng)過程分為哪幾個(gè)階段呢?
    發(fā)表于 11-30 07:02

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

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

    基于磁貼的GPU架構(gòu)優(yōu)缺點(diǎn)

    將輸出幀緩沖區(qū)渲染幾個(gè)不同的較小的子區(qū)域,稱為平鋪。然后,它在完成時(shí)將每個(gè)磁貼寫出到內(nèi)存中。在馬里圖形處理器上,這些瓷磚很小,每個(gè)瓷磚只有16x16像素。 在本指南結(jié)束時(shí),您將了解即時(shí)模式GPU和基于磁貼的
    發(fā)表于 08-02 12:54

    Dwarf Hall:PowerVR GPU上基于物理的渲染

    基于物理的渲染(PBR)在移動(dòng)類GPU中變得越來越盛行。在本文中,我將簡(jiǎn)要闡述PBR的概念和優(yōu)缺點(diǎn),并就如何使用PBR和延遲渲染在PowerVR GPU上運(yùn)行提供相關(guān)建議。我還將展示如
    發(fā)表于 02-10 04:56 ?395次閱讀

    什么是強(qiáng)制gpu渲染_強(qiáng)制渲染gpu有什么用

    本文主要介紹了gpu的定義、gpu工作原理、gpu功能作用及手機(jī)的強(qiáng)制進(jìn)行GPU渲染的詳細(xì)解釋,最后介紹了強(qiáng)制
    發(fā)表于 01-05 17:13 ?7728次閱讀

    GPU原理 GPU渲染流程

    GPU渲染流水線,是硬件真正體現(xiàn)渲染概念的操作過程,也是最終將圖元畫到2D屏幕上的階段。GPU
    發(fā)表于 04-27 11:33 ?9308次閱讀
    <b class='flag-5'>GPU</b>原理 <b class='flag-5'>GPU</b><b class='flag-5'>渲染</b>流程

    GPU管線各個(gè)階段知識(shí)點(diǎn)詳細(xì)的分析理解

    GPU渲染流水線,是硬件真正體現(xiàn)渲染概念的操作過程,也是最終將圖元畫到2D屏幕上的階段。GPU
    的頭像 發(fā)表于 04-28 16:28 ?5329次閱讀
    <b class='flag-5'>GPU</b>管線各個(gè)<b class='flag-5'>階段</b>知識(shí)點(diǎn)詳細(xì)的分析理解

    GPU繪圖的四個(gè)階段包括裁剪階段,光柵化階段,像素階段和輸出階段概述

    GPU繪圖的幾個(gè)階段:裁剪,光柵化,像素,輸出
    的頭像 發(fā)表于 05-13 11:46 ?5652次閱讀

    GPU的原理渲染流程詳細(xì)說明

    GPU 相關(guān)知識(shí)具有興趣,不妨繼續(xù)往下閱讀哦。 GPU 渲染流水線,是硬件真正體現(xiàn)渲染概念的操作過程,也是最終將圖元畫到 2D 屏幕上的
    發(fā)表于 12-25 07:24 ?4次下載
    <b class='flag-5'>GPU</b>的原理<b class='flag-5'>渲染</b>流程詳細(xì)說明

    GPU的原理和渲染流程詳細(xì)說明

     GPU是每臺(tái)電腦不可缺少的組件,缺少GPU,我們的筆記本將無法正常顯示圖像。即便我們每天都在運(yùn)用GPU,但是大家真的了解GPU的原理嗎?了解GPU
    的頭像 發(fā)表于 11-28 10:39 ?8289次閱讀

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

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

    3D渲染——光柵化渲染原理解析

    渲染進(jìn)行介紹,描述了簡(jiǎn)單場(chǎng)景下3D渲染過程,主要幫助讀者了解基于光柵化的 3D 渲染原理及過程。本文為系列文章,并在下一篇系列文章中以 In
    的頭像 發(fā)表于 05-18 17:29 ?1940次閱讀
    3D<b class='flag-5'>渲染</b>——光柵化<b class='flag-5'>渲染</b>原理解析

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

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