渲染基礎整理,renderring fundamenteals

1,deffered rendering, forward rendering

forward rendering是傳統的渲染方式,每個物體都經過,vs,gs,fs,然後到render target,這樣有個問題,如果光照很多,導致計算很複雜,畢竟每個物體都需要考慮光照後的一個效果計算。所以複雜度是 geometry個數 * 光源個數

defferd rendering是一個改進,各個物體只進行vs,gs,然後最後再一起做光照的計算,每個物體把該計算的都計算好,然後最後統一渲染,所有內容都保存在gbuffer中,裏面保存了,顏色緩衝,法線緩衝,深度緩衝,最後渲染計算的時候將這三者和光源進行計算得到結果。複雜度是 像素數 * 光源個數

需要較大顯卡帶寬

轉一下

https://blog.csdn.net/silangquan/article/details/44999817

2,vertex shader,fragment shader(pixel shader)

不同的階段,一個是geometry的頂點座標計算,計算較少,一個是fragment,可以理解爲像素計算,這個比較耗費。

深度信息如果都在vertex shader中計算,可以降低計算量,可以使用early z技術,但是如果需要在fs中改變深度信息,early z就不能用。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章