dx10 學習隨筆(二)

2021-05-24 05:20:58 字數 801 閱讀 1576

direct3d 10 的管線狀態

1、input-assembler stage :

負責給管線提供資料(三角形,線和點)。

2、vertex-shader stage:

頂點處理。執行諸如,位置變換、蒙皮、光照等計算。接受乙個頂點作為輸入,並產生乙個相應的頂點作為輸出。

3、geometry-shader stage:

圖元處理。輸入是乙個完整的圖元(三角形圖元就是三個頂點、線圖元就是兩個頂點、點圖元就是乙個點)。除此之外,每個圖元還可以包 含

相應的臨界圖元的資訊。gs 還支援有限的圖形的放大和縮小。給定乙個作為輸入的圖元,gs 可以刪除該圖元,也可以輸出乙個或多個新的

圖元。4、stream-output stage:

該模組被設計用來把圖元在被輸入到rasterizer stage之前,從管線輸入回記憶體中,也就是說,從 vs 或 gs (如果有gs的話)中輸出的

頂點有機會被輸入到記憶體中,這些資料可以重新成為管線的輸入資料或者成為cpu可讀取的資料。

5、rasterizer stage:

負責裁剪圖元,為 pixel shader 準備圖元。以及決定如何使用 pixel shader。

6、pixel-shader stage:

接受圖元的差值資料,生成逐畫素資料(例如顏色)。

7、output_merger stage:

把不同型別的輸出資料(pixel shader 的輸出、深度和模板資訊)與 rendertarget 以及 depth/stencil buffer 中的值進行混合,

生成最終管線的渲染結果。

dx10 學習隨筆(三)

結合dx文件解析 pipesgs 的實現原理。深入理解 gs 及 streamout 等dx 基礎概念。1 id3d10buffer inte ce 該介面用來訪問 buffer resource 都是無結構的記憶體 buffer 一般用來儲存頂點和索引資料。主要介面 getdesc 獲取buffe...

什麼是DirectX?DX9和DX10區別

逼真的3d遊戲常常讓我們廢寢忘食,這些都應歸功於顯示卡強大的3d運算功能。但作業系統和應用軟體通常不能直接去使用顯示卡的3d加速功能,必須通過系統中的乙個介面去呼叫,這就是opengl和d3d的作用。directx是一種圖形應用程式介面 api 並不是乙個單純的圖形api,它是由微軟公司開發的用途廣...

DX10中的幾何著色器的簡單實用介紹

幾何著色器是dx10 中剛剛加入的內容,在 dx9中從未有過,其渲染過程中是介於頂點著色器與畫素著色器之間。幾何著色器的使用主要目的是為了可以在著色器程式中改變頂點的數量和型別。下面是乙個幾何著色器的定義 maxvertexcount n void shadername primitivetype ...