如何 建立域著色器
網域著色器是三個獨立階段中的第三個,這些階段共同協作以實現細分。 網域著色器階段的輸入來自外殼著色器。 本主題說明如何建立網域著色器。
領域著色器會使用殼體著色器輸出控制點、殼體著色器輸出補丁常數數據,以及一組鑲嵌器的UV座標來轉換表面幾何(由固定功能鑲嵌器階段所建立)。
建立域着色器
設計網域著色器。 請參閱 如何設計域著色器。
編譯著色器程序代碼。
使用 ID3D11Device::CreateDomainShader建立網域著色器物件。
HRESULT CreateDomainShader( const void *pShaderBytecode, // SIZE_T BytecodeLength, // ID3D11ClassLinkage *pClassLinkage, // ID3D11DomainShader **ppDomainShader );
使用 ID3D11DeviceContext::DSSetShader初始化管線階段。
void DSSetShader( ID3D11DomainShader *pDomainShader, // ID3D11ClassInstance *const *ppClassInstances, UINT NumClassInstances );
如果外殼著色器系結,網域著色器必須系結至管線。 特別是,使用幾何著色器直接串流出輪廓著色器控制點並無效。
相關主題