總體上可以分為三個階段 a: 應用階段 b :幾何階段 c:光柵化階段
一:應用階段 :起點是cpu,分為:
a:從cpu中提取資料到視訊記憶體中(硬碟->記憶體->視訊記憶體)視訊記憶體就是顯示卡的記憶體,通常ram加在到視訊記憶體中後就釋放了,但是有時為了計算網格碰撞檢測等操作,就不釋放掉。資料報括:場景的資源、資源身上的材質、貼圖、shader、位置。法線方向。頂點顏色
b:設定渲染狀態:就是場景中的網格是如何被渲染的。包括使用了哪些個頂點著色器,片源著色器等。
c:向gpu傳送drawcall指令,乙個drawcall指向的乙個需要被渲染的列表。
二:幾何階段(屬於gpu流水線)
包含:頂點著色器-->曲面細分著色器-->幾何著色器--->裁剪---->螢幕對映
曲面細分著色器(可選):顧名思義+1,用於細分圖元
幾何著色器(可選):,可以增加圖元,可以逐圖元著色。
裁剪(可配置):刪除掉攝像機看不到的 地方。
螢幕對映(不可程式設計不可配置):把所有 圖元的 空間座標----->螢幕座標
三:光柵化階段:三角形設定-->三角形遍歷--->片元著色器------>逐片元操作------->螢幕影象
該階段接收的是螢幕頂點座標
三角形設定:乙個三角形內包含了哪些畫素
三角形遍歷:根據三個頂點 的資訊 對三角形內的各個畫素進行差值--->輸出為乙個片元(片元只是包含資訊,並沒有到螢幕上)
片元著色器 (可程式設計): 逐片元著色
逐片元操作(配置性很高但不可程式設計):修改顏色。深度緩衝。進行混合
具體來說 就是每乙個測試每乙個片元 是否可見 ,該階段主要為:模板測試 和深度測試。不通過則不要了
渲染及shader學習筆記
1.shader學習工具 rendermonkey 2.shader學習書籍 shaders for game programmer adn artists 3.高度圖軟體 4.其它書籍 real time rendering 4th edition 光照,陰影等多種渲染演算法 實時地形引擎 dir...
Shader基礎(渲染管線)
目的 將空間中的3d物體轉換成螢幕中的2d影象進行顯示出來 渲染繪圖管線流程 1.頂點處理 座標系的轉換 乙個模型有自身的方向 前方,上方,右方等 和中心點,既本地座標系 將這個模型放到場景當中,通過場景中的世界座標原點和世界座標的方向,計算出當前模型的世界座標,從本地座標系轉換到世界座標系 乙個模...
Shader筆記(渲染管線)
頂點處理,面處理,光柵化,畫素處理 本地座標系 以模型自己為中心。比如旋轉 胳膊的擺動,等是以本地座標係為參考。觀察座標系 以攝像機作為原點。觀察座標系轉投影座標系 將每個物體模型的位置從觀察者所在的座標體系中,轉到觀察者投影平面上。包括 面組裝 面擷取 面剔除 面組裝 通常採用 strip 面擷取...