Modelos de sombreador versus perfis de sombreador
A Linguagem de Sombreamento de Alto Nível para DirectX implementa uma série de modelos de sombreador. Usando o HLSL, você pode criar sombreadores programáveis semelhantes a C para o pipeline do Direct3D. Cada modelo de sombreador se baseia nos recursos do modelo antes dele, implementando mais funcionalidades com menos restrições.
O modelo de sombreador 1 começou com o DirectX 8 e incluiu instruções de nível de assembly e C. Esse modelo tem muitas limitações causadas pelo hardware de sombreador programável inicial. O modelo de sombreador 2 e 3 expandiu consideravelmente o número de instruções e as constantes que os sombreadores poderiam usar. Eles são muito mais poderosos do que o modelo de sombreador 1, mas ainda carregam algumas das limitações existentes do primeiro modelo de sombreador.
A partir do Windows Vista, o modelo de sombreador 4 é uma reformulação completa. Ele permite instruções e constantes ilimitadas (dentro de restrições de hardware do computador), tem objetos modelados para tornar a amostragem de textura mais limpa e eficiente e tem o menor número de restrições de qualquer modelo de sombreador. No entanto, ele requer o Modelo de Driver do Windows que só está disponível no sistema operacional Windows Vista (ou posterior).
Perfis de sombreador
Um perfil de sombreador é o destino para compilar um sombreador; esta tabela lista os perfis de sombreador compatíveis com cada modelo de sombreador.
Modelo de sombreador | Perfis de sombreador |
---|---|
Modelo de sombreador 1 | vs_1_1 |
Modelo de sombreador 2 | ps_2_0, ps_2_x, vs_2_0, vs_2_x, ps_4_0_level_9_0, ps_4_0_level_9_1, ps_4_0_level_9_3, vs_4_0_level_9_0, vs_4_0_level_9_1, vs_4_0_level_9_3, lib_4_0_level_9_1, lib_4_0_level_9_3 |
Modelo de sombreador 3 | ps_3_0, vs_3_0 |
Modelo de sombreador 4 | cs_4_0, gs_4_0, ps_4_0, vs_4_0, cs_4_1, gs_4_1, ps_4_1, vs_4_1, lib_4_0, lib_4_1 |
Modelo de sombreador 5 | cs_5_0, ds_5_0, gs_5_0, hs_5_0, ps_5_0, vs_5_0, lib_5_0 (embora gs_4_0, gs_4_1, ps_4_0, ps_4_1, vs_4_0 e vs_4_1 tenham sido introduzidos no modelo de sombreador 4.0, o modelo de sombreador 5 adiciona suporte a esses perfis de sombreador para buffers estruturados e buffers de endereço de bytes.) |
Modelo de sombreador 6 | cs_6_0, ds_6_0, gs_6_0, hs_6_0, ps_6_0, vs_6_0, lib_6_0 |
Diferenças entre o Direct3D 9 e o Direct3D 10:
- O Direct3D 9 introduziu os modelos de sombreador 1, 2 e 3.
- O Direct3D 10 introduziu o modelo de sombreador 4.
- O Direct3D 10.1 introduziu o modelo de sombreador 4.1.
Perfis de efeito
Um perfil de efeito é o destino para compilar um efeito/sombreador; esta tabela lista os perfis de efeito compatíveis com cada versão do Direct3D.
Diferenças entre o Direct3D 9 e o Direct3D 10:
- O Direct3D 9 introduziu perfis de estrutura de efeito fx_1_0 e fx_2_0.
- O Direct3D 10 introduziu fx_4_0 de perfil de estrutura de efeito.
- O Direct3D 10.1 introduziu fx_4_1 de perfil de estrutura de efeito.
- O Direct3D 11 introduziu fx_5_0 de perfil de estrutura de efeito.
Observação
Esses perfis de efeitos herdados foram preteridos.