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

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

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

GPU渲染過程的幾個階段

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

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

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

1.頂點(diǎn)生成

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

2.頂點(diǎn)處理

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

3.圖元生成

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

4.圖元處理

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

5.片元生成

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

6.片元處理

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

7.像素操作

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

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

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

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

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

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

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

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

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

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

GPU渲染過程的幾個階段

圖 1-1

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

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

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

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

    關(guān)注

    28

    文章

    4740

    瀏覽量

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

    關(guān)注

    2

    文章

    1501

    瀏覽量

    62025

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗(yàn)】--了解算力芯片GPU

    本篇閱讀學(xué)習(xí)第七、八章,了解GPU架構(gòu)演進(jìn)及CPGPU存儲體系與線程管理 █從圖形到計算的GPU架構(gòu)演進(jìn) GPU圖像計算發(fā)展 ●從三角形開始的幾何階段 在現(xiàn)代圖形
    發(fā)表于 11-03 12:55

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

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

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

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

    BootLoader啟動過程分為哪幾個階段

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

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

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

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

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

    GPU原理 GPU渲染流程

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

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

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

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

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

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

    GPU 相關(guān)知識具有興趣,不妨繼續(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是每臺電腦不可缺少的組件,缺少GPU,我們的筆記本將無法正常顯示圖像。即便我們每天都在運(yùn)用GPU,但是大家真的了解GPU的原理嗎?了解GPU
    的頭像 發(fā)表于 11-28 10:39 ?8556次閱讀

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

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

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

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

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

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

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

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