dcl_maxOutputVertexCount (sm4 – asm)

Declara o número máximo de vértices que podem ser gerados por um sombreador de geometria.

contagem de dcl_maxOutputVertexCount
Item Descrição
Contar
[in] Um inteiro sem sinal de 32 bits entre 1 e n, inclusive.

Um sombreador de geometria pode gerar no máximo 1024 valores de 32 bits. Esse máximo inclui o tamanho dos dados de entrada e o tamanho dos dados criados pelo sombreador.

Aqui estão algumas limitações:

  • Se o número de vértices for atingido antes que o sombreador de geometria termine de ser executado, o sombreador será encerrado.
  • Um sombreador de geometria pode chegar ao final de seu programa antes de gerar qualquer vértices; isso é perfeitamente legal.
  • Se você estiver depurando um sombreador de geometria, poderá informar o número de vértices gerados contando o número de instruções de emissão geradas.

Esta instrução se aplica aos seguintes estágios de sombreador:

Sombreador de vértice Sombreador de geometria Sombreador de pixel
x

Esta instrução é incluída para auxiliar na depuração de um sombreador no assembly; não é possível criar um sombreador na linguagem de assembly usando o Modelo de Sombreador 4.

Exemplo

Veja alguns exemplos.

Suponha dados de entrada compostos por posição (.xyzw) e cor (.rgb). Cada componente consome um byte; dado 7 bytes, o número máximo de vértices que o sombreador pode gerar seria 1024 / (4 + 3) = 146.

dcl_maxOutputVertexCount 146

Suponha que o sombreador de geometria crie 32 vetores de 4 componentes. O número máximo de vértices que o sombreador pode gerar seria 1024 / (32 * 4) = 8.

dcl_maxOutputVertexCount 8

Modelo de sombreador mínimo

Essa função tem suporte nos seguintes modelos de sombreador.

Modelo de Sombreador Com suporte
Modelo de sombreador 5 sim
Modelo de sombreador 4.1 sim
Modelo de sombreador 4 sim
Modelo de Sombreador 3 (DirectX HLSL) não
Modelo de Sombreador 2 (DirectX HLSL) não
Modelo de Sombreador 1 (DirectX HLSL) não

Assembly do Modelo de Sombreador 4 (DirectX HLSL)