Como criar um sombreador de domínio
Um sombreador de domínio é o terceiro de três estágios que trabalham juntos para implementar o mosaico. As entradas para o estágio de sombreador de domínio vêm de um sombreador de casco. Este tópico mostra como criar um sombreador de domínio.
Um sombreador de domínio transforma a geometria da superfície (criada pelo estágio de mosaico de função fixa) usando pontos de controle de saída do sombreador de casco, dados constantes de patch de saída do sombreador de casco e um único conjunto de coordenadas uv do mosaico.
Para criar um sombreador de domínio
Criar um sombreador de domínio. Confira Como criar um sombreador de domínio.
Compile o código do sombreador.
Crie um objeto de sombreador de domínio usando ID3D11Device::CreateDomainShader.
HRESULT CreateDomainShader( const void *pShaderBytecode, // SIZE_T BytecodeLength, // ID3D11ClassLinkage *pClassLinkage, // ID3D11DomainShader **ppDomainShader );
Inicialize o estágio do pipeline usando ID3D11DeviceContext::D SSetShader.
void DSSetShader( ID3D11DomainShader *pDomainShader, // ID3D11ClassInstance *const *ppClassInstances, UINT NumClassInstances );
Um sombreador de domínio deverá ser associado ao pipeline se um sombreador de casco estiver associado. Em particular, não é válido transmitir diretamente os pontos de controle do sombreador de casco com o sombreador de geometria.
Tópicos relacionados