Direct3D был представлен с версией DirectX 3.0. Первоначально это был в первую очередь графический движок рендеринга типа szene довольно высокого уровня с высокопроизводительным программным ускорением, сопровождаемый очень низким уровнем, основанным на базовых буферах выполнения . Ни один из них на самом деле не нашел свою аудиторию среди разработчиков, которые либо предпочли написать собственное управление сценой, адаптированное к их игре или унаследованное от их трехмерного программного движка, либо сочли буферы выполнения довольно неясными.
DirectX версии 4.0 еще не выпущен, оставив место непосредственно для версии 5.
Direct3D 5.0 привнес «состав» буферов выполнения, который подвергался сильной критике, в виде команд drawprimitive, которые казались более рациональными для среднего программиста.
Direct3D 6.0 был улучшением Direct3D 5 с новыми концепциями, такими как мультитекстурирование (которое впервые появилось в OpenGL и использовалось в таких играх, как Quake 2) или окружение bumpmapping . Форматы сжатых текстур, изобретенные S3 ( S3TC (en) ), были интегрированы в Direct3D и приняты всеми создателями 3D CPU .
В версии 7.0 Direct3D был представлен специальный формат текстур (DirectDraw Surface). Эта версия также является первой версией Direct3D, которая поддерживает аппаратные функции преобразования и подсветки новых видеокарт GeForce 256 (понятие ускоренного преобразования и освещения уже давно существует в графических рабочих станциях, которые, например, используют профессиональные версия OpenGL). Появились и другие концепции, такие как кубическое отображение (позволяющее моделировать отражения сферических элементов).
Хотя Direct3D долгое время считался сложным в использовании, DirectX версии 8.0 решил многие проблемы удобства использования, которых опасались программисты, и быстро стал предпочтительным API для разработки игр под Windows (OpenGL сохранил свою монополию на других платформах). Direct3D 8 содержит множество очень мощных функций для трехмерного отображения, таких как вершинные шейдеры и пиксельные шейдеры . Эта версия также включена в базовую программную библиотеку для консоли Xbox, в которую входит Geforce 3, первый графический чип, физически реализовавший пиксельные и вершинные шейдеры .
С выпуском DirectX версии 9.0 Direct3D был интегрирован в программный компонент под названием Direct Graphics. Предполагалось, что Direct Graphics представляет собой комбинацию DirectDraw и Direct3D, но на самом деле это был просто Direct3D с несколькими дополнительными функциями DirectDraw. Большинство людей по-прежнему ссылаются на Direct Graphics, называя ее Direct3D. Это название было отброшено через некоторое время после его введения Microsoft.
В Direct3D версии 9.0 добавлена новая версия High Level Shader Language с поддержкой освещения с расширенным динамическим диапазоном за счет повышенной точности шейдеров и форматов текстур с плавающей запятой. Он также представил возможность использования нескольких поверхностей одновременного рендеринга (MRT) и индексацию вершин ( индексные буферы ).
Версия 10 представляет собой серьезный прорыв по сравнению со старыми моделями, отказавшись от совместимости со старыми версиями, полагаясь в основном на простоту программирования и предлагая значительный набор новых функций, таких как геометрические шейдеры и улучшенное создание экземпляров. Эта версия Direct3D доступна только и совместима с Windows Vista .
Версия 11 была объявлена 2009. Release Candidate в Windows 7 включает в себя поддержку D3D11. D3D11 обеспечивает поддержку тесселяции , облегченного рендеринга процессов и вычислительных шейдеров, конкурируя с Nvidia CUDA , ATI Stream и OpenCL .