Unity3D(五)渲染管線


渲染管線

圖形數據在Gpu上經過運算處理,最后輸出到屏幕的過程

  • DrawCall:一幀調用顯卡渲染物體的次數

頂點處理

  • 接受頂點模型頂點數據
  • 坐標系轉換

圖元裝配

組裝面,連接相連的頂點,繪制三角面

光柵化

計算三角面上的像素,並為后面着色階段提高合理的插值參數

像素處理

對每個像素區域進行着色
寫入到(顯卡)緩存中

緩存:

一個存儲像素數據的內存塊,最重要的緩存是幀緩存與深度緩存

幀緩存

存儲每個像素的色彩即渲染后的圖像。幀緩存常常在顯存中,顯卡不斷讀取並輸出到屏幕中

深度緩存Z-buffer

存儲像素的深度信息,即物體到攝像機的距離,光柵化時便計算各像素的深度值,如果新的深度值比現有值更近,則像素顏色被寫道幀緩存,並替換深度緩存。近的被保存,遠的被遮擋就不顯示了

優化

性能優化主要三方面

  • CPU Usage CPU的使用。
  • Render 渲染
  • Memory 內存

Occlusion Culling即時遮擋剔除

遮擋剔除:當物體被送進渲染流水線之前,將攝像機視角內看不到的物體進行剔除,從而減少了每幀渲染數據量,提高渲染性能

使用插件Instantoc實現遮擋剔除

  • 原理:隨機發射射線碰到了說明不被遮擋
  • 缺點:增加CPU性能
  • 適用場景:場景中物體較為密集

多細節層次(LOD Levels of Detail)

根據物體模型的節點在顯示環境中所處的位置和重要度,決定物體渲染的資源分配(選擇高低中模型),降低非重要物體的面數和細節度。從而獲得高效率的渲染運算


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM