Este artigo apresenta apenas uma fonte. (fevereiro de 2021) |
Direct3D é uma API parte do conjunto DirectX de renderizac̩ão 3D feita pela placa de vídeo. O Direct3D é disponibilizado apenas para as versões do sistema operacional Windows a partir do Windows 95. Também é a base para a API de gráficos tridimensionais dos consoles de videogame XBox e XBox 360. O Direct3D é usado para renderizar gráficos 3D em aplicações onde a performance é importante, como em jogos, ele também permite os programas serem executados em tela cheia e não apenas em janelas. Se a placa de vídeo possuir aceleração por hardware a biblioteca utiliza-a de forma a reduzir o trabalho da CPU.
O Direct3D é uma API 3D, o que significa que ele possui diversos comandos para a renderização tridimensional. No entanto, desde a versão 8 da biblioteca, ele substituiu o DirectDraw e passou renderizar também gráficos 2D.
Uma alternativa ao Direct3D é a API OpenGL.
Em 1992, Servan Keondjian iniciou uma empresa chamada RenderMorphics, que desenvolveu uma API para gráficos tridimensionais chamada Reality Lab. Duas versões desta biblioteca foram desenvolvidas e, então, em fevereiro de 1995, a Microsoft comprou a RenderMorphics para desenvolver um motor de gráficos 3D para o sistema operacional Windows 95.
O Direct3D inicialmente implementava dois modos: o retained mode e o immediate mode. O retained mode era uma API baseada na plataforma COM que acabou por não ser muito usado pelos programadores, eles demandavam um maior controle sobre o hardware. Houve apenas um jogo, Lego Island, que teve um bom desempenho nas vendas baseado no retained mode, então a Microsoft não o atualizou mais após o DirectX 3.0.
O Direct3D implementa dois modos de exibição:
Esta biblioteca acompanha o Direct3D e possui um conjunto de ferramentas matemáticas, manuseio das matrizes do sistema, compilação e montagem de shaders, etc. Também possui funções que possibilitam operações complexas sobre malhas poligonais. O D3DX é distribuído na forma de uma biblioteca de ligação dinâmica (DLL).
DXUT é um framework construído sobre o Direct3D, ele foi projetado para ajudar o programador com tarefas mais básicas como criação de janelas, criação de um dispositivos, processamento das mensagens do Windows e eventos. É útil para o desenvolvimento de programas de menor porte como demonstrações e tutoriais.