游戲開發中,計算機圖形學是必不可少的東西。許多人也是從接觸圖形開始而進入游戲行業的。3D管線導論這本書詮釋了3D管線的細節。為大家解開了縈繞已久的迷團。
很多次偶然地看到 《3D pipeline tutorial》(3D管線導論)這本書的推薦。 今天就狠下心來搜索了一下。 下載了一個電子版來瞧瞧。
發現自己曾經百思不得其解的內容就全在里面。
這本書介紹了我們的圖形應用程序場景中一些常用的方法。
如:對象遍歷,對象移動,攝像機移動,可見對象查詢,LOD等。
而本書的重頭戲則在于,他詳細地講述了一個三角形和其紋理等信息,從輸入到輸出到屏幕所經歷的過程。
先前我就一直在查找這方面的資料,要是自己當初就下了這本書。那多好哇。
簡單列一下3D管線工作流程,這也是許多圖形API 如D3D OPENGL大致的工作方式。
頂點處理階段
普通變換:平移,縮放,旋轉。
世界變換:從模型本地坐標系變到世界坐標系。
觀察變換:從世界坐標系變到觀察坐標系。
觀察投影:從觀察坐標系變換到投影空間。 投影是一個降維的過程。 也就是說,投影便是從3D到2D的過程。
少量的剔除:(Trivial Accept/Reject Culling)
背面剔除(也可以在稍后的屏幕空間中做)
光照
透視分割(Perspective Divide):轉換到裁剪空間中。
裁剪(Clipping)
視口映射:變換到屏幕空間。
三角形構造階段
背面裁剪(也可以在前面的觀察空間中的投影變換之前做)。
Slope/Delta Calculations
掃描線轉換:Scan-Line Conversion
渲染和光柵化階段
著色(Shading)
紋理映射(Texturing)
霧化
ALPHA半透明測試
深度緩沖測試
反走樣(可選)
顯示
以上便是一個完整的3D管線必須具備的東西。。 至于各個處理階段的順序,在實際的實現方法上會存在一定的差異。
有興趣的朋友可以一起來看這本書。 我也會在看完后,寫出自己的感受,大家一起交流。