Microsoft DirectX é uma coleção de APIs que tratam de tarefas relacionadas a multimídia, especialmente programação de jogos, para o sistema operacional Microsoft Windows, ou seja, é quem padroniza a comunicação entre software e hardware. Com a padronização de comunicação, o DirectX fornece instruções para que aplicações (jogos, programas gráficos e entre outros, que são escritos para fins de sua utilização), e o respectivo hardware, façam uso dos seus recursos. O DirectX foi inicialmente distribuido pelos criadores de jogos junto com seus produtos, mas depois foi incluído no Windows.
Componentes A funcionalidade do DirectX é provida na forma de interfaces COM, bem como um conjunto de interfaces de código gerenciado.
Os componentes do DirectX atualmente suportados são:
Direct3D: API de desenhos de gráficos 3D. DXGI: enumera adaptadores e monitora e gerencia cadeias de troca para Direct3D 10 e posterior. Direct2D: API de desenhos de gráficos 2D. DirectWrite: API de renderização de texto. DirectCompute: API de computação de uso geral em unidades de processamento gráfico. DirectX Diagnostics (DxDiag): uma ferramenta para diagnosticar e gerar relatórios sobre componentes relacionados ao DirectX, como áudio, vídeo e drivers de entrada. XACT3: API de áudio de alto nível. XAudio2: API de áudio de baixo nível. DirectX Raytracing (DXR): API de traçado de raios em tempo real. DirectStorage: API de E/S de arquivo orientada a GPU. DirectML: aprendizado de máquina acelerado por GPU e API de inteligência artificial.
Os componentes do DirectX obsoletos são:
DirectX Media: Composta por: DirectAnimation para animação 2D/3D da web, DirectShow para reprodução multimídia e streaming de mídia. DirectX Media Objects: Suporte para objetos de streaming, como codificadores, decodificadores e efeitos. DirectX Transform para interatividade na internet, e Direct3D Retained Mode para gráficos 3D de nível superior. Plugins de DirectX para processamento de sinais de áudio. DirectX Video Acceleration para aceleração de reprodução de vídeo. DirectDraw: API de desenhos de gráficos 2D. DirectInput: para distribuição de dispositivos de controle - teclados, mouses, joysticks, ou outros controladores de jogo. DirectPlay: para comunicação em rede local de computadores ou internet. DirectSound: para a reprodução e gravação de sons de waveform. DirectSound3D (DS3D): para a reprodução de sons 3D. DirectMusic: para reprodução de trilhas sonoras ou tocadas no DirectMusic Producer. DirectSetup: para a instalação de componentes de DirectX.
Versões A cada nova versão que surge, há novidades e melhores desempenhos para determinados jogos e programas. Por exemplo, um usuário deseja rodar um jogo que é compatível com o DirectX 9.0 ou superior, porém sua placa de vídeo (que possui uma arquitetura e instruções de como executar respectivas versões do DirectX) ainda usa o DirectX 8.0. Quando rodar o jogo, ele pedirá instruções que existem somente nas versões a partir da 9.0. Como o usuário ainda está com a versão 8.0, o hardware não reconhecerá a instrução, a API deverá emular, no hardware compatível com DirectX 8.0 a instrução do jogo compatível com DirectX 9.0, assim o resultado final não terá a qualidade total que o jogo ou programa oferece.
Para saber qual a versão instalada, vá em Iniciar → Executar (ou tecla do Windows + r, para Windows 7, Vista e XP). Depois digite "Dxdiag" (sem aspas). Em "Informações do sistema", na última linha haverá a "Versão do DirectX", onde mostra qual a versão instalada.
DirectX 1.0: 4.02.0095 DirectX 2.0: (2.0a) 4.03.00.1096 DirectX 3.0: (3.0a) 4.04.0068 DirectX 5.0: 4.05.01.1721 (lançado no Windows 98) DirectX 6.0: 4.06.02.0436 (lançado no Windows 98 SE) DirectX 7.0: 4.07.00.0700 (lançado no Windows 2000 e Windows ME) DirectX 8.0: 4.08.00.0400 DirectX 8.1: 4.08.01.0811 (lançado no Windows XP e Windows Server 2003) DirectX 9.0: 4.09.0000.0900 DirectX 9.0a: 4.09.0000.0901 DirectX 9.0b: 4.09.0000.0902 DirectX 9.0c: 4.09.0000.0904 (última versão para Windows XP SP2, Windows XP 64-bit Edition SP1 e Windows Server 2003 SP1) DirectX 9.0l: (L para legacy, implementação do DX9 para Windows Vista) DirectX 10.0: 6.00.6000.16386 (lançado no Windows Vista) DirectX 10.1: 6.00.6001.18000 (lançado no Service Pack 1 para Windows Vista) DirectX 11.0: 6.01.7600.16385 (lançado no Service Pack 2 para Windows Vista e para Windows 7) DirectX 11.1: 6.02.9200.16384 (lançado no Windows 8, Windows RT e Windows Server 2012, compatível com Windows 7 SP1 e Windows Server 2008 R2 SP1) DirectX 11.2: 6.03.9600.16384 (lançado no Windows 8.1, Windows RT 8.1 e Windows Server 2012 R2) DirectX 12: Apresentado com o Windows 10 e adicionado ao Xbox One e posteriormente ao Windows 7
O Windows Vista trouxe o DirectX 10 e o lançamento do Service Pack 1 trouxe o DirectX 10.1. Este novo DirectX possui diversas particularidades, quer em nível de desempenho quer em nível de gastos, destas particularidades, destaca-se a implementação de Pixel Shader 4.1.
Esta atualização possui duas vertentes: O Vista deve ser atualizado para a versão mais recente, bastando para isso instalar o SP1 (lançado no primeiro trimestre de 2008), e terá de comprar ou possuir uma placa compatível com as novas especificações deste DirectX.
A versão 11 do DirectX traz a implementação da tecnologia Ray tracing
As placas de Vídeo com suporte DirectX 11 são: NVIDIA GeForce 400 e posteriores, AMD Radeon Series HD5000 e posteriores, GDH PcControl Séries D900 D960 e posteriores.
O Directx 12 trará ganhos de performance para todas as GPUS compatíveis no que diz respeito ao uso do hardware, especialmente nas placa de vídeo da AMD e a GPU do Xbox One (que segundo os desenvolvedores será suficiente para diminuir a lacuna existente com o PlayStation 4).
Ver também Graphics Device Interface (GDI) OpenGL Direct3D SDL Microsoft XNA Metal (API) Vulkan
Ligações externas
Lista das versões mais recentes do DirectX para cada sistema operacional
Categoria:Interfaces de programação de aplicações da Microsoft Categoria:Programas de computador da Microsoft Categoria:Software de 1995 Categoria:Interface de programação de aplicações Categoria:DirectX Categoria:Realidade virtual