DirectX11
FUNDAMENTOS

POR: ALEXANDRE CORREA CASTRO
Propósito destes slides
Proporcionar um guia simplificado da divisão das APIs do DirectX11 e da sua
pipeline, trazendo ao ...
O que é DirectX
Microsoft DirectX é uma coleção de APIs (Application Programming Interface),
projetada para proporcionar a...
Principais diferenças entre DirectX11
e DirectX10
Computação de propósito geral usando a nova API DirectCompute.
Renderiza...
Principais diferenças entre DirectX11
e DirectX10
Shader Model 5.0 e conceitos de programação orientada a objetos para sha...
Os componentes de DirectX11
O DirectX é dividido em diversos componentes, cada um representando um diferente
aspecto do si...
Os componentes de DirectX11
Direct2D
Direct2D é utilizado para gráficos 2D em aplicações Win32. Ele possui alta performanc...
Os componentes de DirectX11
DXGI
DirectX Graphics Infrastructure, também conhecido como DXGI, é utilizado para criação
de ...
Os componentes de DirectX11
XAudio2
XAudio2 é uma API de baixo nível para processamento de áudio. Esta API é parte do
XDK ...
Os componentes de DirectX11
XInput
XInput é a API de dispositivo de entrada do XDK e DirectX SDK, sendo utilizada para
pro...
Os componentes de DirectX11
DirectCompute
DirectCompute é uma nova API adicionada na versão 11 do DirectX que permite o us...
Os componentes de DirectX11
DirectInput
DirectInput é uma API para detecção de teclados, mouses e joysticks. No caso do us...
Os componentes de DirectX11
Componentes Obsoletos – removidos ou marcados como deprecated.
DirectDraw – Agregada ao Direct...
Component Object Model
A API de DirectX é baseada no modelo de COM (Component Object Model).
Os objetos COM consistem em u...
Estágios do Direct3D 11
O Direct3D processa sua cena em múltiplos estágios. Cada um destes passos executam
um conjunto esp...
A Pipeline do Direct3D 11

Input
Assembler

Vertex
Shader

Hull Shader

Tessellator

Domain
Shader

Novidades do Direct3D1...
Estágios da pipeline do Direct3D 11
Input Assembler (IA)
Input Assembler (IA) é o primeiro estágio da pipeline do Direct3D...
Estágios da pipeline do Direct3D 11
Vertex Shader (VS)
Vertex Shader (VS) é o segundo estágio da pipeline. Este estágio é ...
Estágios da pipeline do Direct3D 11
Hull Shader (Opcional)
Hull Shader é o terceiro estágio da pipeline. Ele executa opera...
Estágios da pipeline do Direct3D 11
Tessellator (Opcional)
Tessellator é o quarto estágio da pipeline. Este estágio subdiv...
Estágios da pipeline do Direct3D 11
Domain Shader (Opcional)
Domain Shader é o quinto estágio da pipeline. Ele executa ope...
Estágios da pipeline do Direct3D 11
Geometry Shader (GS) Opcional
Geometry Shader (GS) é o sexto estágio da pipeline, poré...
Estágios da pipeline do Direct3D 11
Rasterizer
Rasterizer é o sétimo estágio da pipeline, ele é responsável por converter ...
Estágios da pipeline do Direct3D 11
Pixel Shader (PS)
Pixel Shader (PS) é o oitavo estágio da pipeline, ele é capaz de tra...
Estágios da pipeline do Direct3D 11
Output Merger (OM)
Output Merger (OM) é o nono e último estágio da pipeline, ele agrup...
Referências
Beginning DirectX 11 Game Programming – Allen Sherrod and Wendy Jones
Introduction to 3D Game Programming with...
Próximos SlideShares
Carregando em…5
×

DirectX11: Fundamentos

517 visualizações

Publicada em

Este conjunto de slides tem como propósito proporcionar um guia simplificado da divisão das APIs do DirectX11 e da sua pipeline, trazendo ao leitor um entendimento geral sobre o assunto.
Espero que eles sejam úteis!

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
517
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
5
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

DirectX11: Fundamentos

  1. 1. DirectX11 FUNDAMENTOS POR: ALEXANDRE CORREA CASTRO
  2. 2. Propósito destes slides Proporcionar um guia simplificado da divisão das APIs do DirectX11 e da sua pipeline, trazendo ao leitor um entendimento geral sobre o assunto. Espero que eles sejam úteis!  POR: ALEXANDRE CORREA CASTRO
  3. 3. O que é DirectX Microsoft DirectX é uma coleção de APIs (Application Programming Interface), projetada para proporcionar aos desenvolvedores uma interface de baixo nível para acesso ao hardware em plataformas baseadas no sistema operacional Windows (compatível com Windows Vista ou superior). Cada componente da API proporciona acesso padronizado a diferentes aspectos do hardware como: interface gráfica, som, GPU e dispositivos de entrada. POR: ALEXANDRE CORREA CASTRO
  4. 4. Principais diferenças entre DirectX11 e DirectX10 Computação de propósito geral usando a nova API DirectCompute. Renderização multi threaded. Hardware tesselation. POR: ALEXANDRE CORREA CASTRO
  5. 5. Principais diferenças entre DirectX11 e DirectX10 Shader Model 5.0 e conceitos de programação orientada a objetos para shaders. Formatos BC6 (BC6H) e BC7 para compressão de texturas de imagens HDR e LDR. Aumento da resolução de texturas. E muito mais! Mais informações sobre B6HC e BC7 em: http://msdn.microsoft.com/en-us/library/windows/desktop/hh308955(v=vs.85).aspx POR: ALEXANDRE CORREA CASTRO
  6. 6. Os componentes de DirectX11 O DirectX é dividido em diversos componentes, cada um representando um diferente aspecto do sistema. Cada API pode ser utilizada independente da outra possibilitando a adição de uma nova somente conforme a necessidade. Nos próximos slides veremos a relação de APIs disponíveis no DirectX11. POR: ALEXANDRE CORREA CASTRO
  7. 7. Os componentes de DirectX11 Direct2D Direct2D é utilizado para gráficos 2D em aplicações Win32. Ele possui alta performance na renderização de vetores. DirectWrite DirectWrite é utilizado para renderização de fontes e textos em aplicações Direct2D. POR: ALEXANDRE CORREA CASTRO
  8. 8. Os componentes de DirectX11 DXGI DirectX Graphics Infrastructure, também conhecido como DXGI, é utilizado para criação de Direct3D swap chain e enumeradores de device adapters (placa de vídeo). Direct3D Direct3D é utilizado em todo gráfico tridimensional em DirectX. Esta é a API que recebe a maior atenção e atualizações. POR: ALEXANDRE CORREA CASTRO
  9. 9. Os componentes de DirectX11 XAudio2 XAudio2 é uma API de baixo nível para processamento de áudio. Esta API é parte do XDK (Xbox Development Kit) e agora também faz parte do DirectX SDK. XAudio2 substitui a API DirectSound. XACT3 XACT3 é uma API de alto nível para processamento de áudio construída a partir da XAudio2. POR: ALEXANDRE CORREA CASTRO
  10. 10. Os componentes de DirectX11 XInput XInput é a API de dispositivo de entrada do XDK e DirectX SDK, sendo utilizada para processar os controles do Xbox 360 e PC. XInput substitui a API DirectInput. XNA Math XNA Math não é propriamente uma API, mas sim uma biblioteca matemática que realiza operações otimizadas. Esta biblioteca utiliza SIMD (Single Instruction Multiple Data) que possibilita múltiplas operações em uma única chamada de instrução. POR: ALEXANDRE CORREA CASTRO
  11. 11. Os componentes de DirectX11 DirectCompute DirectCompute é uma nova API adicionada na versão 11 do DirectX que permite o uso da GPU para processar dados de propósito geral com paralelismo. DirectSetup Possibilita a instalação da última versão do DirectX junto com o seu jogo. POR: ALEXANDRE CORREA CASTRO
  12. 12. Os componentes de DirectX11 DirectInput DirectInput é uma API para detecção de teclados, mouses e joysticks. No caso do uso de teclado e mouse, podemos utilizar funções Win32 como uma opção ao DirectInput. POR: ALEXANDRE CORREA CASTRO
  13. 13. Os componentes de DirectX11 Componentes Obsoletos – removidos ou marcados como deprecated. DirectDraw – Agregada ao Direct3D. DirectPlay – Removido, capacitação de rede protocolo UDP (User Datagram Protocol). DirectShow – Passou a fazer parte do Windows SDK. DirectMusic – Deprecated, substituído por XAudio2. DirectSound – Deprecated, substituído por XAudio2. POR: ALEXANDRE CORREA CASTRO
  14. 14. Component Object Model A API de DirectX é baseada no modelo de COM (Component Object Model). Os objetos COM consistem em uma coleção de interfaces que expõem funções que os desenvolvedores utilizam para acessar o DirectX. Estes objetos são DLLs que são registradas no sistema para prover suporte a um hardware específico da máquina. O registro destas DLLs ocorrem no momento da instalação do DirectX. POR: ALEXANDRE CORREA CASTRO
  15. 15. Estágios do Direct3D 11 O Direct3D processa sua cena em múltiplos estágios. Cada um destes passos executam um conjunto específicos de tarefas para resultar em uma imagem final. Estes estágios são conhecidos como a pipeline de renderização. POR: ALEXANDRE CORREA CASTRO
  16. 16. A Pipeline do Direct3D 11 Input Assembler Vertex Shader Hull Shader Tessellator Domain Shader Novidades do Direct3D11 POR: ALEXANDRE CORREA CASTRO Geometry Shader Rasterizer Pixel Shader Output Merger
  17. 17. Estágios da pipeline do Direct3D 11 Input Assembler (IA) Input Assembler (IA) é o primeiro estágio da pipeline do Direct3D e pode ser considerado a fase da construção dos blocos de geometrias que serão processados pelos demais estágios da pipeline. POR: ALEXANDRE CORREA CASTRO
  18. 18. Estágios da pipeline do Direct3D 11 Vertex Shader (VS) Vertex Shader (VS) é o segundo estágio da pipeline. Este estágio é capaz de trabalhar na estrutura de vértices do modelo tridimensional e com isso modificar sua estrutura em tempo de execução. O Vertex Shader sempre recebe um vértice como entrada e devolve um vértice na saída. POR: ALEXANDRE CORREA CASTRO
  19. 19. Estágios da pipeline do Direct3D 11 Hull Shader (Opcional) Hull Shader é o terceiro estágio da pipeline. Ele executa operações em conjuntos de pontos de controle, e gera dados adicionais conhecidos como patch constants. POR: ALEXANDRE CORREA CASTRO
  20. 20. Estágios da pipeline do Direct3D 11 Tessellator (Opcional) Tessellator é o quarto estágio da pipeline. Este estágio subdivide a geometria gerada pelo Hull Shader pra criar uma representação mais detalhada do modelo tridimensional. POR: ALEXANDRE CORREA CASTRO
  21. 21. Estágios da pipeline do Direct3D 11 Domain Shader (Opcional) Domain Shader é o quinto estágio da pipeline. Ele executa operações em vértices saída do Tessellator, semelhante ao processo de Vertex Shader. POR: ALEXANDRE CORREA CASTRO
  22. 22. Estágios da pipeline do Direct3D 11 Geometry Shader (GS) Opcional Geometry Shader (GS) é o sexto estágio da pipeline, porém se não houver nenhum estágio de Tessellation ocorrendo ele será executado logo após ao Vertex Shader. Este estágio pode gerar novas primitivas como pontos, linhas e triângulos, a partir das primitivas de entrada da pipeline. Por exemplo: quando processarmos triângulos, três vértices serão a entrada do Geometry Shader. Este passo pode retornar zero ou mais primitivas para o próximo item da pipeline. POR: ALEXANDRE CORREA CASTRO
  23. 23. Estágios da pipeline do Direct3D 11 Rasterizer Rasterizer é o sétimo estágio da pipeline, ele é responsável por converter as primitivas em pixels. Estes pixels serão os dados de entrada do estágio de Pixel Shader (PS). O estágio de Rasterizer determinará como o Pixel Shader será invocado e também poderá executar outras tarefas, como tornar invisível determinados pixels através de clipping e culling. POR: ALEXANDRE CORREA CASTRO
  24. 24. Estágios da pipeline do Direct3D 11 Pixel Shader (PS) Pixel Shader (PS) é o oitavo estágio da pipeline, ele é capaz de trabalhar na estrutura dos pixels depois que um modelo 3D é rasterizado. Com o Pixel Shader podemos criar efeitos na imagem, como efeitos de vidro, rugosidade, desfoque entre outros, esse efeitos são conhecidos como pos-effects. POR: ALEXANDRE CORREA CASTRO
  25. 25. Estágios da pipeline do Direct3D 11 Output Merger (OM) Output Merger (OM) é o nono e último estágio da pipeline, ele agrupa os vários tipos de dados de saída (pixel shader, alpha blending, depth) para compilar uma imagem final que será enviada para tela. POR: ALEXANDRE CORREA CASTRO
  26. 26. Referências Beginning DirectX 11 Game Programming – Allen Sherrod and Wendy Jones Introduction to 3D Game Programming with DirectX 11 – Frank Luna POR: ALEXANDRE CORREA CASTRO

×