Postupy: Vytvoření shaderu domény
Shader domény je třetí ze tří fází, které spolupracují na implementaci tessellation. Vstupy pro fázi shaderu domény pocházejí z shaderu trupu. Toto téma ukazuje, jak vytvořit doménový shader.
Doménový shader transformuje geometrii povrchu (vytvořenou pomocí pevného funkčního stupně teselátoru) za použití výstupních kontrolních bodů pláště shaderu, výstupních dat konstant plátu a jedné sady UV souřadnic teselátoru.
Vytvoření shaderu domény
Navrhni shader domény. Podívejte se na Jak navrhnout shader domény.
Zkompilujte kód shaderu.
Vytvoření objektu domain-shader pomocí ID3D11Device::CreateDomainShader.
HRESULT CreateDomainShader( const void *pShaderBytecode, // SIZE_T BytecodeLength, // ID3D11ClassLinkage *pClassLinkage, // ID3D11DomainShader **ppDomainShader );
Inicializujte fázi kanálu pomocí ID3D11DeviceContext::DSSetShader.
void DSSetShader( ID3D11DomainShader *pDomainShader, // ID3D11ClassInstance *const *ppClassInstances, UINT NumClassInstances );
Pokud je vázaný trupový shader, musí být také vázán doménový shader k výpočetnímu řetězci. Zejména není platné přímo vysílat řídicí body hull shaderu pomocí geometrického shaderu.
Související témata
-
Přehled Tessellation