dx10 學習隨筆(三)

2021-05-24 05:21:59 字數 969 閱讀 3296

結合dx文件解析 pipesgs 的實現原理。深入理解 gs 及 streamout 等dx 基礎概念。

1、id3d10buffer inte***ce:

該介面用來訪問 buffer resource (都是無結構的記憶體)。buffer 一般用來儲存頂點和索引資料。

主要介面:

getdesc ,獲取buffer描述資訊;

map,獲取buffer資料的指標;

unmap,使得通過map獲取的指標無效;

三種型別的buffer可以被建立,頂點buffer,索引buffer,shader-constant buffer。建立這些buffer資源,需要呼叫介面

id3d10device::createbuffer。

乙個buffer在被訪問之前要繫結到管線上。要繫結到 input-assembler stage 上,通過呼叫 iasetvertexbuffers 和 iasetindexbuffer。要繫結到 stream-output stage 上,通過呼叫 sosettargets。

buffer 可以被同時繫結到多個管線狀態上,供讀取。buffer 可以被繫結到乙個單獨的管線狀態上被寫入。然而相同的buffer不能同時

讀取和寫入。

2、id3d10shaderresourceview inte***ce:

該介面指定乙個shader在渲染期間可以訪問的 subresources。shader resoureces 包括 constant buffer, texture buffer, texture , sampler。

主要介面:

id3d10shaderresourceview::getdesc。

當繫結資源到 shader stage 時就需要建立 shader-resource-view。繫結發生在下面函式呼叫時:

gssetshaderresources、vssetshaderresources、pssetshaderresources。

dx10 學習隨筆(二)

direct3d 10 的管線狀態 1 input assembler stage 負責給管線提供資料 三角形,線和點 2 vertex shader stage 頂點處理。執行諸如,位置變換 蒙皮 光照等計算。接受乙個頂點作為輸入,並產生乙個相應的頂點作為輸出。3 geometry shader ...

什麼是DirectX?DX9和DX10區別

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

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

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