Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Direct3D 10.1 estende o conjunto de recursos do Direct3D 10.0 com os seguintes novos recursos:
Modos de mesclagem - Modos de mesclagem independentes por destino de renderização usando a nova interface de estado de mistura (consulte ID3D10BlendState1 Interface). As operações de mistura de fonte dupla são restritas para renderizar o slot de destino 0; Você não pode gravar em outras saídas ou ter quaisquer destinos de renderização vinculados a slots diferentes do slot 0.
Comportamento de abate - As faces de área zero são automaticamente abatidas; Isso afeta apenas a renderização de wireframe.
Regras de ponto flutuante - Usa as mesmas regras IEEE-754 para operações de ponto flutuante EXCETO 32 bits que foram apertadas para produzir um resultado dentro de 0,5 unidade-último lugar (0,5 ULP) do resultado infinitamente preciso. Isto aplica-se à adição, subtração e multiplicação. (precisão de 0,5 ULP para multiplicar, 1,0 ULP para recíproco).
Formatos - A precisão da mistura float16 aumentou para 0,5 ULP. A mistura também é necessária para os formatos UNORM16/SNORM16/SNORM8.
Anti-aliasing de várias amostras - A multiamostragem foi aprimorada para generalizar a transparência baseada na cobertura e tornar o trabalho de amostragem múltipla mais eficaz com a renderização de várias passagens. Para conseguir isso, todas as semânticas de várias amostras são definidas como se o sombreador de pixel sempre fosse executado uma vez por amostra (frequência de amostra), calculando uma cor separada por amostra. Se um sombreador de pixel não usar nenhum atributo por exemplo, ele calculará o mesmo valor para cada amostra coberta em um pixel. Nesse caso, é equivalente ao hardware executar o sombreador uma vez por pixel (pixel-frequência), replicando o resultado para todas as amostras cobertas. Naturalmente, a execução em pixel-freqüência sempre produz os mesmos resultados que executar o mesmo sombreador em freqüência de amostra, quando os atributos são amostrados em uma freqüência de pixel. A estatística do pipeline PSInvocations aumenta na freqüência da amostra, a menos que o sombreador esteja sendo executado na freqüência de pixel.
Largura de banda do estágio do pipeline - Aumentou a quantidade de dados que podem ser passados entre os estágios do sombreador:
Recurso Limites Registos entre Fases de Shader 32 (32 bits x 4 componentes) Registradores de entrada de sombreamento de vértice 32 Slots de entrada Input Assembler 32 Regras de rasterização - As regras para rasterização foram alteradas para linhas, além disso, novas funcionalidades foram adicionadas.
- MultisampleEnable afeta apenas a rasterização de linha (pontos e triângulos não são afetados) e é usado para escolher um algoritmo de desenho de linha. Isso significa que algumas rasterização de várias amostras do Direct3D 10 não são mais suportadas.
- Nova execução de sombreador de pixel de frequência de amostra com rasterização primitiva.
Recursos - CopyResource está habilitado em dois novos cenários:
- As superfícies MSAA de cor e profundidade/estêncil agora podem ser usadas com CopyResource como origem ou destino
- Conversão de formato ao copiar entre determinados recursos pré-estruturados de 32/64/128 bits e representações compactadas das mesmas larguras de bits.
Amostragem de textura - sample_c e sample_c_lz instruções forem definidas para trabalhar com Texture2DArrays e TextureCubeArrays, use o membro Location (o componente alfa) para especificar um índice de matriz.
Views - TextureCube e o novo TextureCubeArray (consulte D3D10_TEXCUBE_ARRAY_SRV1) não são recursos reais, mas são novos modos de exibição em um recurso Texture2DArray. Crie uma exibição de recurso a partir de um recurso Texture2DArray com um novo sinalizador de uso (D3D10_RESOURCE_MISC_TEXTURECUBE), use o novo ID3D10ShaderResourceView1 Interface interface para vincular uma exibição de textura de cubo ao pipeline.
Os novos recursos exigem um tipo de dispositivo 10.1 (consulte ID3D10Device1 Interface) que pode ser criado chamando D3D10CreateDevice1, ou você pode criar o dispositivo e a cadeia de permuta ao mesmo tempo chamando D3D10CreateDeviceAndSwapChain1.
No Windows Vista Service Pack 1, as DLLs Direct3D 10.0 e Direct3D 10.1 existem lado a lado no sistema. Para acessar os recursos da versão 10.1, siga um destes procedimentos:
Acessando recursos 10.1 no Vista Gold e Vista Service Pack 1
Os desenvolvedores que desejam suportar o Vista Gold, bem como o SP1, terão que levar em conta a falta das novas extensões de API 10.1 no Vista Gold. Tanto o DXUT quanto o D3DX10 fornecerão funções de conveniência para criar o dispositivo apropriado, com base nas DLLs disponíveis no sistema e no hardware disponível (10.0 ou 10.1). O dispositivo 10.1 herda do dispositivo 10.0 e pode ser recuperado usando QueryInterface(). É recomendável que cada aplicativo acompanhe o tipo de dispositivo e mantenha um ponteiro para o dispositivo 10.1 (se disponível) para evitar chamadas frequentes de QueryInterface quando a funcionalidade 10.1 for desejada. Da mesma forma, onde as exibições de recursos 10.1 e os objetos de estado são associados pela classe personalizada de um aplicativo, é recomendável que o aplicativo controle se o objeto é do tipo 10.0 ou 10.1 para evitar chamadas QueryInterface() redundantes. O D3DX10 inclui um conjunto de funções utilitárias para simplificar esse processo (consulte D3DX10CreateDevice e D3DX10CreateDeviceAndSwapChain).
Acessando recursos 10.1 no Vista Service Pack 1 exclusivamente
Alguns desenvolvedores podem optar por exigir o Vista Service Pack 1, que será distribuído amplamente aos usuários finais e inclui uma série de melhorias fora do Direct3D 10.1. Esses desenvolvedores podem usar os cabeçalhos e bibliotecas do Direct3D 10.1 exclusivamente, dependendo das DLLs do Direct3D 10.1 que suportam hardware 10.0 e 10.1 (algumas chamadas podem falhar, no entanto, em dispositivos 10.0 onde a nova funcionalidade não é suportada).
Algumas notas adicionais:
- As APIs expostas no D3DX10.dll aceitarão dispositivos 10.0 e 10.1 e aproveitarão a funcionalidade 10.1 quando disponível.
- D3D10SDKLayers.dll suporta um dispositivo 10.1 e pode gerar o spew de depuração apropriado para recursos 10.1.
- D3D10Ref.dll implementa um dispositivo de software 10.0 e 10.1.
- O D3DX10 e o FXC suportam o modelo de sombreador 10.1 atualizado com os seguintes destinos: vs_4_1, gs_4_1, ps_4_1 e fx_4_1 que podem ser vinculados a um dispositivo 10.1. Um dispositivo 10.1 suporta sombreadores modelo 4.0 e 4.1.
- A estrutura de efeitos do Direct3D 10.0 suporta dispositivos 10.0 e 10.1, no entanto, qualquer técnica que inclua sombreadores modelo 4.1 ou os novos recursos 10.1 deve usar um dispositivo 10.1.
Tópicos relacionados
-
Guia de programação para Direct3D 10