DirectX 11 — набор программных модулей и библиотек для обработки графических объектов

DirectX 11 — набор программных модулей и библиотек для обработки графических объектов

Категория: Драйверы и обновления
Разработчик:
Обновлено: 14.05.2019
Рейтинг:
Интерфейс: Русский/Английский
Версия: 11.3.
Системы: Microsoft Windows 7, 8, 8.1, 10 (x86-x64)
Лицензия: Freeware (бесплатно)
Размер: 2,2 МБ (онлайн установка)

О программе

DirectX 11 – это необходимые библиотеки для Windows, позволяющие запускать игры и приложения, работающие с графикой. По сути, это набор необходимых DLL файлов. Если их не будет, то ни одна игра не запустится.

Скачать DirectX 11 можно на официальном сайте компании Microsoft. Это совершенно бесплатно. По сути, эта штука не является программой. Но без нее приложения, использующие 3D графику работать не будут. Так что это обязательный компонент.

DirectX 11 для Windows 7 обязательно нужно устанавливать. А в Windows 10 он есть по умолчанию. Но лучше установить. На всякий случай. Вдруг вам попалась сборка системы без этого важного компонента.

Стоит отметить, что многие программы (даже те, которые вроде бы и не используют 3D графику) напрочь отказываются работать без этих библиотек. К примеру, всем известный Adobe Photoshop ни за что не запустится без DirectX 11.

Поэтому данный пакет требуется не только для игр. Если вы хотите, чтобы в вашей операционной системе все работало нормально, от данные библиотеки просто необходимы. Главное, чтобы видеокарта их поддерживала.

Что нового

  • В D3D11 добавляется 3 дополнительных стадии конвейера визуализации, их целью является введение эффективной тесселяции поверхностей.
  • В последнюю версию включено три новых стадии между стадиями геометрического и вершинного шейдера.

Системные требования

  • Операционная система: Microsoft Windows 7, 8, 8.1, 10 (x86-x64).
  • Видеокарта: Поддерживающая DirectX 11.

Плюсы и минусы:

Преимущества:

  • Набор необходимых DLL для работы 3D графики;
  • Повышение плавности анимации в играх;
  • Намного лучшее отображение текстур (по сравнению с DX9);
  • Продвинутые алгоритмы обработки аудио и видео;
  • Наилучшая производительность (по сравнению с OpenGL и Vulkan);
  • Библиотеки абсолютно бесплатны;
  • Очень простая установка;
  • Не занимает много места;
  • Установочный файл весит мало;
  • Можно найти на официальном сайте Microsoft.

Недостатки:

Как использовать?

Для начала нужно скачать DirectX 11 64-bit с нашего сайта или с официального сайта компании Microsoft. Сам установщик весит очень мало, так как все нужные компоненты скачиваются прямо во время установки. Поэтому скачать DirectX 11 очень просто.

Установить DirectX 11 еще проще. Достаточно запустить скачанный исполняемый файл. Однако в самом мастере установки нужно снять галочку с пункта «Установить поиск Bing». Он вам точно не нужен, так как совершенно бесполезен.

После нажатия на кнопку «Далее» инсталлятор определит объем загружаемых компонентов и начнет их скачивание. После этого начнется сам процесс установки. Он не займет много времени. По завершении мастер установки выдаст соответствующее сообщение.

Вообще, перезагружать компьютер после этого не обязательно. Но желательно. После рестарта можно запускать какую-нибудь игрушку и наслаждаться плавностью анимации. Теперь все нужные библиотеки точно присутствуют в вашей системе.

Часто задаваемые вопросы:

Можно ли обойтись без DirectX 11 для Windows?

В принципе, можно. Но многие игры просто откажутся запускаться. А те, что запустятся будут выглядеть очень плохо. К тому же, нельзя будет смотреть видео с аппаратным ускорением. Так что лучше все-таки установить данные библиотеки.

Можно ли качать DX с других ресурсов и торрентов?

Можно. Но зачем? Ведь этот продукт совершенно бесплатен. И лучше уж использовать официальный сайт DirectX Там-то точно не будет никаких неприятных сюрпризов в инсталляторе.

Каков полный размер библиотеки?

При стандартной установке инсталлятор закачивает коло 98 мегабайт данных. После распаковки размер библиотек составит примерно 260-280 МБ. Не так уж и много, если учесть объемы современных винчестеров.

Отзывы пользователей

«Без DirectX нынче никуда. Вот только моя видеокарта его не поддерживает. Печально. Но тем не менее, библиотеки я себе установил. Просто на всякий случай. А то вдруг какой-нибудь игрушке чего-нибудь не хватит. Будет неприятно».

Артур П.

«Я все время думал, что ж у меня в играх FPS такой низкий? Оказалось, что я сидел на OpenGL. Поставил DX11 и все пришло в норму. Даже те игрушки, что в принципе не могут использовать эту версию стали работать шустрее».

Константин К.

«Пришлось поставить DX11, так как Photoshop напрочь отказывался работать со старой версией библиотек. Стоит отметить, что производительность существенно возросла. Так что если вы до сих пор сидите на 9 версии, то обновляйтесь. Не пожалеете».

Анастасия К.

Скриншоты

Видео обзор

DirectX 11

Предпоследняя версия DirectX 11 представляет собой всю ту же сборку подпрограмм, необходимых для устойчивой и более качественной работы компьютера с мультимедийными данными и видеоиграми.

ДиректИкс вносит коррективы в алгоритм работы операционной системы, позволяя рационально поделить нагрузку потоками данных между центральным процессором с ОЗУ и графических процессором с видеопамятью.

В результате пользователь ощутит прирост производительности, а также заметит значительные улучшения в отображении анимационной графики в видеоиграх.

Каждое поколение Direct предназначено для определенных устройств, а также приложений. К примеру, нет никакого смысла устанавливать DirectX-12 на устаревшую видеокарту NVidia GF5500, поскольку это не принесет абсолютно никаких результатов.

Но в то же время, при установке этих API файлов на систему, где имеется топовая видеокарта, даст значительный прирост мощности, а также улучшит визуализацию в играх.

DirectX является некой прослойкой между взаимодействиями исполняемых программных кодов приложений и процессорами совместно с контроллерами установленной периферии.

Также Директ Икс служит программной средой, которая задействована при создании компьютерных игр. Именно поэтому при установке только что вышедшей игрушки пользователю всегда предлагают обновить имеющиеся компоненты DirectX.

Производители включают его инсталлятор в дисках вместе с игрой чтобы быть уверенными, что у пользователя приложение будет отображаться именно так, как это необходимо.

Приложение Direct распространяется свободно, его можно скачать даже на официальном сайте корпорации Майкрософт. Используется оно исключительно на операционных системах Windows.

В последних версиях этой операционной системы (имеется в виду версии 8.1 и 10) DirectX уже присутствует в установщике, поэтому пользователю не потребуется инсталлировать его самостоятельно.

DirectX 11 имеет следующие особенности

  • улучшает многопоточную обработку данных;
  • способствует лучшему сжатию текстур;
  • имеется низкоуровневая поддержка организационного обеспечения;
  • содержит новейшие этапы аппаратной обработки картинки для тесселяции;
  • имеются вычислительные шейдеры;
  • поддержка Shader Model 5.0.

По сравнению с предыдущими версиями, DirectX11 обладает целым рядом новых возможностей, но в то же время он основан на 10-ой версии Дайректа.

Ранее выпущенные версии компонента Direct3D были направлены в основном на работу с одноядерными графическими процессорами, которые использовались в видеокартах.

Поддержка многопоточности было весьма ограничена. Теперь же внесены изменения, что позволило разработчикам улучшить алгоритмы управления ГПУ со стороны ЦПУ.

DirectX11 улучшило масштабирование ресурсов ЦПУ благодаря изменениям в API моделях. DirectX 11 по умолчанию встроен в операционную систему Windows 7, но он также поддерживает работу с Vista.

DirectX 11 использует новые форматы сжатия графических текстур, позволяющие разработчикам сохранить объемы используемой памяти, чтобы сохранить требования к её пропускной способности. При этом производительность не ухудшается.

Итак, что же даст установка обновленного DirectX11:

  • улучшится качество анимации в видеоиграх;
  • повысится качество теней;
  • ландшафты станут более насыщенными, окружающая обстановка обретет более сложный вид;
  • игрок заметит тщательнее прорисованную природу, более детальные сцены событий;
  • процессы в играх станут более динамичными;
  • улучшится реализм;
  • уменьшится смазывание динамичных объектов;
  • визуализация дыма и облаков станет более четкой и уточненной;
  • преломления и отражения на гладких поверхностях станут более реалистичными;
  • снизится загрузка ЦПУ за счет перераспределения процессов на ГПУ;
  • снижается вероятность «подвисаний» и торможений видеоигр.

Исходники Проектов на DirectX

Дай думаю напишу, может реально кто кинет ссылки где можно скачать готовые исходники: минипроекты с применением DirectX.

Может я зря думаю, что все специалисты по DirectX такие ушлые, что не могут подсказать где искать исходники по DirectX.

Добавлено через 1 минуту
В основном интересует на С++ WinaAPI. но другие тоже сойдут.

07.02.2017, 07:00

Открываю исходники Progamina3DEngine = 39 дней работы с DirectX
Вот решила перейти на Опен ГЛ и поэтому мой проект с Директ Икс выкладываю здесь. Новичкам будет.

Реализовать DirectX. Или разобраться в том, как программисту наладить работу DirectX у клиента под Windows
Здравствуйте Программисты. Заплачу за решение моего вопроса! 25-50 тыс. рублей. 50 тыс. рублей.

Исходники Проектов на OpenGL
Здравствуйте программисты! Дай думаю напишу, может реально кто кинет ссылки где можно скачать.

Ищу исходники интересных проектов на C++
Приветствую всех! Мне тут подсказали, что для эффективного изучения языка и основных приемов.

Подскажите где найти исходники программ(проектов) на QT
Хотелось бы нормальный рабочий проект (например с поддержкой БД) на QT, чтоб запустить и.

07.02.2017, 07:39 2 07.02.2017, 09:22 3 Вложения

doom.rar (4.53 Мб, 27 просмотров)
07.02.2017, 09:33 [ТС] 4
07.02.2017, 09:33
07.02.2017, 09:34 5
07.02.2017, 09:47 [ТС] 6

Странно почему то DX 10 как то не сильно популярна. В основном с 9 перешли на 11.
В будущем сам кину свои исходники, чтобы специалистов у нас в России было по больше.

07.02.2017, 09:53 [ТС] 7
Вложения

download.rar (19.5 Кб, 29 просмотров)
07.02.2017, 09:58 [ТС] 8

Для того, чтобы работал исходник нужно скачать на свой ПК DirectX 2010 года.

Подключить библиотеки:
C:Program Files (x86)Microsoft DirectX SDK (June 2010)Include
C:Program Files (x86)Microsoft DirectX SDK (June 2010)Libx86

Также нужно использовать многобайтовую кодировку.

07.02.2017, 17:17 [ТС] 9
Вложения

project(VC).zip (69.8 Кб, 16 просмотров)
07.02.2017, 17:26 [ТС] 10
Вложения

rastertek.7z (4.32 Мб, 5 просмотров)
07.02.2017, 17:33 [ТС] 11
07.02.2017, 17:34 [ТС] 12
Вложения

Programina3DEngineSDK.zip (870.9 Кб, 10 просмотров)
09.02.2017, 09:08 13

DirectX — это просто COM библиотека с определенными функциями для быстрого обращения на видеоадаптер. Все. Какие исходники?

Может Вы имели ввиду, примеры всяких техник, которые используются в риалтайме при визуализировании графики? Так тогда, я считаю, не нужно привязываться к конкретному GAPI, а просто изучать мат часть, физику и реализовывать это кодом.

К примеру возьмем реализацию теней в 3d графике. Причем здесь вообще DirectX? Нужно понимать всю суть реализации теней в 3d графике, и затем только брать GAPI и пытаться воплотить их в жизнь. Раньше я тоже думал так, как и Вы. где же найти примеры на DirectX или OpenGL, чтобы посмотреть как там написано. оказывается все проще.
Книги серии GPU Pro советую почитать — там про всякие графические техники(volumetric explosion, deferred shading, deferred ligting и тд). Правда они на английском, но как сказано в книги в книги Луны:
if you want to be a good game programmer, you have to learn English

09.02.2017, 15:19 [ТС] 14

Исходники, где будет реализован простейший трехмерный движок, чтобы его можно было запустить с исходника. И работал он через библиотеку DirectX.
Ну и интересно взглянуть на рабочий исходник по прямым кодам без библиотеки DirectX.

Добавлено через 2 минуты

Что такое GAPI ? поиск не дал ответа.
Ну я бы попросил исходник этой альтернативы.

Добавлено через 2 минуты

Хорошо бы было, если бы что-нибудь или кто-нибудь поспособствовал получению этой информации. При изучении графики наталкиваемся на DirectX. Знаем что библиотека. Думали хорошая библиотека. Ан. нет с косяками. Пишут в книгах: Вот Вам приготовили библиотеку пользуйтесь на здоровье=а столько гемороя с ошибками.

Добавлено через 1 минуту

09.02.2017, 16:34 15

Graphic Apllication Programming Interfacing

Движок — это архитектура. Это структурирования для многократного использования. Это уже даже не относится к графике по большой части.
К примеру я реализовывал игровой движок на системе, которую называют DECS — Dynamic Entity Component System. По большей части, чтобы написать мне этот движок, мне вообще не нужно было изучать какие-то книги по DirectX и тд. Этим вообще занимается конкретный человек в команде при создании движка. Но так как я был один, приходилось все равно залезать в доки DirectX и писать.
Блин как же Вам донести? Вы знаете, что такое рефакторинг? Вот представьте себе, что Вы хотите просто писать по большей части суть игры, или какой-нибудь графической программы, но не вдаваться в подробности как там все это рисуется и симулируется физикой. Представили? Так вот зачем нужен движок. Вы даете пользователю Вашего движка больше сконцентрироваться на его задаче. А как уже такой движок написать? Это уже другой вопрос. Есть виды архитектур постоения игровых движков, какие-то лучше здесь, какие-то лучше там. Как пример, я Вам Сказал про DECS. Если хотите, почитайте. Но опять же повторюсь, когда Вы начнете его писать, у Вас будет больше проблем с структуризацией Вашего движка, чем с тем, как мне использовать DirectX

Френк Луна нормально для новичков пишет про DirectX. В его книгах описаны всякие техники реализаций с использованием DirectX, такие как реализация системы частиц, отложенного освещения, запеченного света, карты теней, пикинг и тд. Также к его книгам есть исходники всех его примеров.
Когда качаете DirectX SDK там в комплекте есть примеры, причем довольно хорошие. Посмотрите тоже

DirectX 11

DirectX (Директ Икс) — это набор приложений, разработанных для решения задач, связанных с программированием под Microsoft Windows. Наиболее часто требуется для корректной работы компьютерных игр. В случае возникновения ошибок во время установки или запуска различных игр Вам необходимо скачать и установить правильную версию DirectX.

История обновлений

  • DirectX 9.0b — пиксельные шейдеры 2.0b и вершинные шейдеры 2.0
  • DirectX 9.0c — шейдерная модель 3.0
  • DirectX 9.0L — версия DirectX 9.0 для Windows Vista и выше
  • DirectX 10 — шейдерная модель 4.0 (только Windows Vista, Windows 7, Windows 8)
  • DirectX 10.1 — шейдерная модель 4.1 (только Windows Vista, Windows 7, Windows 8)
  • DirectX 11 — шейдерная модель 5.0 (только Windows Vista, Windows 7, Windows 8/8.1)
  • DirectX 11.3/DirectX 12 — шейдерная модель 5.1 (только Windows 10).

Компоненты DirectX

DirectX Graphics, набор интерфейсов, ранее (до версии 8.0) делившихся на:
DirectDraw: интерфейс вывода растровой графики. (Его разработка давно прекращена)
Direct3D (D3D): интерфейс вывода трёхмерных примитивов.
DirectInput: интерфейс, используемый для обработки данных, поступающих с клавиатуры, мыши, джойстика и пр. игровых контроллеров.
DirectPlay: интерфейс сетевой коммуникации игр.
DirectSound: интерфейс низкоуровневой работы со звуком (формата Wave)
DirectMusic: интерфейс воспроизведения музыки в форматах Microsoft.
DirectShow: интерфейс, используемый для ввода/вывода аудио и/или видео данных.
DirectX Instruments — технология, позволяющая на основе мультимедийного API DirectX создавать и использовать программные синтезаторы. В отличие от DX-плагинов, такие программы могут полностью управляться по MIDI и служат главным образом не для обработки, а для синтеза звука. Технология DXi была популярна в 2001—2004 гг., особенно в программных продуктах Cakewalk, но со временем проиграла «войну форматов» технологии VST от Steinberg.
DirectSetup: часть, ответственная за установку DirectX.
DirectX Media Objects: реализует функциональную поддержку потоковых объектов (например, кодировщики/декодировщики)
Direct2D: интерфейс вывода двухмерной графики

Получая доступ к страницам этого сайта, вы соглашаетесь со следующими условиями.
Любая информация, опубликованная на страницах настоящего сайта, является объектом авторских прав интеллектуальной собственности, принадлежащей Soft-Shop.su.

— информация не будет использоваться в коммерческих целях;
— информация не будет использоваться на других ресурсах;
— не будут нарушены авторские права третьих лиц;

Для вашего удобства, данный сайт может включать ссылки на веб-сайты, принадлежащие третьим лицам или контролируемые третьими лицами.
Загрузка файлов происходит через оригинальный загрузчик. Все загружаемые программы являются лицензионными, поставляемыми из официальных источников распространения ПО. Дополнительно Вам может быть предложена установка партнерского ПО, от установки которого Вы в праве отказаться.
О любых изменениях условий использования информации ресурса будет сообщено в этом документе по мере их изменМы прилагаем все достаточные и необходимые технические и организационные меры для защиты персональной информации Пользователей сайта от несанкционированного либо неправомерного использования и распространения.
Мы соблюдаем права Пользователей сайта на получение информации, касающейся обработки его персональных данных, в соответствии с Федеральными законами РФ «О персональных данных» (от 27.07.2006 г. № 152-ФЗ).

Мы обеспечиваем неограниченный доступ к документам, определяющим политику Компании в отношении обработки персональных данных, к сведениям о реализуемых требованиях к защите персональных данных.
С запросом таких документов, а так же по всем вопросам использования и обработки, отзыва разрешения на обработку персональных данных и их уничтожение вы можете обратиться по адресу webmaster@soft-shop.su

  1. ПускПанель Управления
  2. Программы и Компоненты
  3. Выделить нужную программу
  4. Нажать кнопку «Удалить»

УСЛОВИЯ ИСПОЛЬЗОВАНИЯ САЙТА

Получая доступ к страницам этого сайта, вы соглашаетесь со следующими условиями. Любая информация, опубликованная на страницах настоящего сайта, является объектом авторских прав интеллектуальной собственности, принадлежащей Soft-Shop.su.

Воспроизведение, передача, распространение или хранение части или всего содержания сайта в любой форме без предварительного письменного согласия Soft-Shop.su разрешается только в соответствии со следующими условиями:

  • информация не будет использоваться в коммерческих целях;
  • информация не будет использоваться на других ресурсах;
  • не будут нарушены авторские права третьих лиц;

Для вашего удобства, данный сайт может включать ссылки на веб-сайты, принадлежащие третьим лицам или контролируемые третьими лицами. Загрузка файлов происходит через оригинальный загрузчик. Все загружаемые программы являются лицензионными, поставляемыми из официальных источников распространения ПО. Дополнительно Вам может быть предложена установка партнерского ПО, от установки которого Вы в праве отказаться. О любых изменениях условий использования информации ресурса будет сообщено в этом документе по мере их изменения.

ПОЛИТИКА КОНФИДЕНЦИАЛЬНОСТИ

Мы прилагаем все достаточные и необходимые технические и организационные меры для защиты персональной информации Пользователей сайта от несанкционированного либо неправомерного использования и распространения. Мы соблюдаем права Пользователей сайта на получение информации, касающейся обработки его персональных данных, в соответствии с Федеральными законами РФ «О персональных данных» (от 27.07.2006 г. № 152-ФЗ).

DirectX 11 — набор программных модулей и библиотек для обработки графических объектов

Чтобы лучше понять, чего можно ждать от реализации обоих API, обратимся к истокам их создания. Обзор истории проливает свет на то, имеются ли какие-либо принципиальные различия между изначальной реализацией данных библиотек.

OpenGL

Данный API основан на стандарте IRIS GL, разработанном корпорацией Silicon Graphics Incorporated (SGI). Окончательно спецификация оформилась в 1992 году (30 июня был выпущен релиз версии 1.0). В OpenGL (Open Graphics Library – Открытая Графическая Библиотека) закладывалась идея создания аппаратно-независимого интерфейса, то есть единожды написанные программы могли бы без проблем работать на различных платформах. Долгое время развитием OpenGL занимался Architectural Review Board (ARB – Комитет Пересмотра Архитектуры), куда входят такие известные компании как 3D Labs, SGI, Apple, nVIDIA, ATi, Intel, id Software, Microsoft. Однако два года назад ввиду замедлившегося развития OpenGL и проблем с устаревшими стандартами дальнейшее развитие и выпуск нового стандарта OpenGL 3.0, поддерживающего все новейшие достижения компьютерной графике, был доверен промышленному консорциуму Khronos Group. Выпуск нового стандарта задерживался по всевозможным причинам и, в конце концов, произошел только на исходе 2008 года. До сих пор нельзя утверждать, что данный стандарт хоть сколько-нибудь прижился. Однако разработчики графического железа вышли из положения, создав extensions (расширения) для получения доступа к новым функциям.

Открытая Графическая Библиотека нашла свое применение во многих областях (не только игровой индустрии), и уже 18 лет остается востребованной.

DirectX

Данная библиотека является изобретением компании RenderMorphic, приобретенным Microsoft. Потребность в дополнительном графическом API возникла из-за изначальной ограниченности программирования игр под Windows 95 (а вернее, из-за медленной обработки мультимедийных данных). Поначалу Game Software Development Kit (Game SDK) позиционировался, как «идеальное решение для создания игр». Конечно же, DirectX 1.0 (впрочем, как и 2, и 3) не мог конкурировать с OpenGL, и поначалу это была медленная, сложная и обладавшая множеством недочетов и дисфункций библиотека. Продвижение DirectX началось с седьмой версии, когда реализация интерфейсов между программной и аппаратной частью стала быстрее и удобнее в программировании. Сейчас DirectX является достаточно мощной и стабильной (причем по большей части ее пишут программисты, работающие над Windows). Следует отметить, что исторически библиотеки решают одну и ту же задачу – упрощение программирования графики, причем в основу их разработки были положены одна и та же идея – реализация промежуточного слоя, способного воспринимать относительно простые программные команды и передавать их по стеку устройств и интерфейсов видеокарте. На настоящий момент обе библиотеки являются мощными разработками с равным потенциалом. Поэтому для определения различий более подробно рассмотрим принципы их работы.

Основные принципы работы графических библиотек

OpenGL

OpenGL с самого начала позиционировался исключительно как графическая библиотека. Основой для этой API является ядро, которое в состоянии обрабатывать примитивные объекты (как правило, треугольники). Программный интерфейс библиотеки содержит большое количество (порядка нескольких сотен) процедур и функций, необходимых для создания высококачественных графических изображений. Чтобы аппаратно реализовать многие сложные функции (например, antialiasing или texturing) от видеокарты требуется наличие framebuffer’а (кадровый буфер), причем некоторые операции могут выполняться исключительно в нем. Базовая схема реализации сложных операций показана далее на рисунке 2.

Рисунок 2. Общая схема работы графической библиотеки OpenGL.

На рисунке 1 показаны основные компоненты графической библиотеки OpenGL и их взаимодействие. Для работы с библиотекой программа сначала должна открыть окно во framebuffer (где будет происходить все операции), и потом уже контекст библиотеки связывается с этим окном. Такую операцию нужно проделать один раз, а далее все действия определяются через параметры обработки (рисование простых геометрических объектов: линии, точки, полигоны; рендеринг примитивов, включая их положение и цвет).

Для разработчика процессора видеокарты OpenGL является набором команд, которые влияют на работу графического железа. Если в наличии имеется только адресуемый framebuffer, то библиотека должна быть встроена в GPU. Чаще же плата содержит еще и графический ускоритель (состоящий из растровой подсистемы, которая занимается рендерингом 2D линий и полигонов). Графические процессоры способны лишь просчитывать и трансформировать геометрические данные (аналог элементарных операций, с которыми умеет работать обычный CPU – сложение и присваивание). Задачей создателя графической платы является разработка программного интерфейса GPU для разделения обработки команд OpenGL между GPU и остальным графическим железом. Такое деление должно быть специально оптимизировано под выполнение команд библиотеки.

Сама же библиотека реализована в виде информации о структуре, определяющей, как объекты будут нарисованы во framebuffer, причем некоторые из структур доступны пользователю, который может создавать различные вызовы процедур для изменения параметров.

Чуть выше были рассмотрены основные принципы работы библиотеки, далее будет рассмотрен простой пример – рисование текстурированной пирамиды средствами OpenGL. Для этого требуется базовые понятия, требующиеся для выполнения этой задачи:

Рисунок 3. Выполнение растеризации и интерполяции графической библиотекой OpenGL.

DirectX

Данный API является комплексной библиотекой, которая содержит в себе программные интерфейсы по обработке не только графики. В рамках данной работы рассматривается только графическую часть библиотеки.

Так же как и OpenGL, DirectX на низком уровне взаимодействует с аппаратной частью компьютера и предоставляет управляющей среде верхнего уровня набор интерфейсов для обработки графики, однако большим отличием от конкурента является использование Component Object Model (COM). То есть для работы с изображением нужно не просто вызвать определенную функцию или процедуру, а провести еще ряд дополнительных манипуляций для получения доступа к объектам (работа с которыми происходит только через интерфейсы), а после этого каждому объекту нужно заполнить некий набор необходимых свойств, без которых он является неопределенным. После компиляции программы команды на обработку графики для драйвера и видеокарты идут последовательно, вне зависимости от того, как было создано приложение.

Чтобы начать работать с графической библиотекой, требуется открыть окно программы, но далее нужно также создать устройство отрисовки и тем самым произвести инициализацию Direct3D. После выполнения этого шага идет процесс просчета и отображения сцены. Цепочка преобразований, необходимых для отображения некоторого объекта, показана на рисунке 3.

Рисунок 3. Пошаговое выполнение отображения объекта в графической библиотеке DirectX.

На аппаратном уровне API выполняется следующим образом: D3D обеспечивает независимость от Hardware Abstraction Layer (HAL – аппаратный уровень абстракции). HAL – это аппаратно-зависимый интерфейс, не поддерживающий эмуляции, который разрабатывается компанией-производителем видеоадаптера и включает в себя поддержку D3D. В данном случае Microsoft описала, как должна быть реализована D3D аппаратно, а уже компании-производители реализуют нужные функции в своих чипах. В результате складывается ситуация, при которой программа ничего не знает об установленном оборудовании и напрямую с ним не взаимодействует. Это имеет свои плюсы и свои минусы. Главный плюс – высокий уровень абстракции от оборудования, что является одной из самых желанных концепций, используемых в программировании вообще. А минус – может возникнуть потребность опроса видеокарты на предмет наличия поддержки графически сложных функций. В рамках данной работы таких функций выполнять не потребуется ввиду относительной простоты модели, поэтому наличие HAL дает только положительный эффект.

HAL может содержать три разных типа модели обработки вершин (на одном устройстве) – программный, аппаратный (который зависит от конкретного устройства) и смешанный. Аппаратный тип поддерживает только обработку вершин и дает возможность небольших изменений состояния устройства по запросу приложения. Кроме использования возможностей видеокарты, DirectX в полной мере пользуется инструкциями AMD 3DNow! и Intel Pentium SIMD (Simple Instruction Multiple Data, одна команда – много данных), которые включены в обработку некоторых вершинных шейдеров.

Для создания сцены потребуется инициализировать D3D объект для рисования, включая создание объекта, указание параметров отображения, создание D3D устройства, причем в параметрах устройства можно указать способ обработки вершин – аппаратный или программный. Далее производятся похожие с OpenGL преобразования, но с учетом того, что все операции работают над объектами. При завершении программы нужно закрыть устройство, но на деле этот процесс все же выглядит немного сложнее. В рамках данной работы не будут рассмотрены столь детальные подробности, поскольку завершение программы не влияет на впечатление пользователя от скорости и динамики отображения модели. Исходя их этого факта, можно достаточно либерально отнестись к корректности и быстроте завершения программы, тем более что в рамках managed-языков программирования это не так актуально.

Рисунок 4. Отображение фигуры по ее вершинам и соединениям между ними в графической библиотеке DirectX.

В новых версиях DirectX появились дополнительные возможности, увеличивающие реалистичность графики:

Pixel Shaders – это небольшие подпрограммы (выполняются на графическом процессоре), которые работают с каждым пикселем при создании текстуры и применяются для просчета света, создания различных эффектов. В самой библиотеке OpenGL они отсутствуют по причине того, что, когда создавалась спецификация, шейдеры еще не были придуманы, и поэтому они были включены в виде расширений.

Исходники Проектов на DirectX

Дай думаю напишу, может реально кто кинет ссылки где можно скачать готовые исходники: минипроекты с применением DirectX.

Может я зря думаю, что все специалисты по DirectX такие ушлые, что не могут подсказать где искать исходники по DirectX.

Добавлено через 1 минуту
В основном интересует на С++ WinaAPI. но другие тоже сойдут.

07.02.2017, 07:00

Открываю исходники Progamina3DEngine = 39 дней работы с DirectX
Вот решила перейти на Опен ГЛ и поэтому мой проект с Директ Икс выкладываю здесь. Новичкам будет.

Реализовать DirectX. Или разобраться в том, как программисту наладить работу DirectX у клиента под Windows
Здравствуйте Программисты. Заплачу за решение моего вопроса! 25-50 тыс. рублей. 50 тыс. рублей.

Исходники Проектов на OpenGL
Здравствуйте программисты! Дай думаю напишу, может реально кто кинет ссылки где можно скачать.

Ищу исходники интересных проектов на C++
Приветствую всех! Мне тут подсказали, что для эффективного изучения языка и основных приемов.

Подскажите где найти исходники программ(проектов) на QT
Хотелось бы нормальный рабочий проект (например с поддержкой БД) на QT, чтоб запустить и.

07.02.2017, 07:39 2
07.02.2017, 09:22 3
Вложения

doom.rar (4.53 Мб, 27 просмотров)
07.02.2017, 09:33 [ТС] 4
07.02.2017, 09:33
07.02.2017, 09:34 5
07.02.2017, 09:47 [ТС] 6

Странно почему то DX 10 как то не сильно популярна. В основном с 9 перешли на 11.
В будущем сам кину свои исходники, чтобы специалистов у нас в России было по больше.

07.02.2017, 09:53 [ТС] 7
Вложения

download.rar (19.5 Кб, 29 просмотров)
07.02.2017, 09:58 [ТС] 8

Для того, чтобы работал исходник нужно скачать на свой ПК DirectX 2010 года.

Подключить библиотеки:
C:Program Files (x86)Microsoft DirectX SDK (June 2010)Include
C:Program Files (x86)Microsoft DirectX SDK (June 2010)Libx86

Также нужно использовать многобайтовую кодировку.

07.02.2017, 17:17 [ТС] 9
Вложения

project(VC).zip (69.8 Кб, 16 просмотров)
07.02.2017, 17:26 [ТС] 10
Вложения

rastertek.7z (4.32 Мб, 5 просмотров)
07.02.2017, 17:33 [ТС] 11
07.02.2017, 17:34 [ТС] 12
Вложения

Programina3DEngineSDK.zip (870.9 Кб, 10 просмотров)
09.02.2017, 09:08 13

DirectX — это просто COM библиотека с определенными функциями для быстрого обращения на видеоадаптер. Все. Какие исходники?

Может Вы имели ввиду, примеры всяких техник, которые используются в риалтайме при визуализировании графики? Так тогда, я считаю, не нужно привязываться к конкретному GAPI, а просто изучать мат часть, физику и реализовывать это кодом.

К примеру возьмем реализацию теней в 3d графике. Причем здесь вообще DirectX? Нужно понимать всю суть реализации теней в 3d графике, и затем только брать GAPI и пытаться воплотить их в жизнь. Раньше я тоже думал так, как и Вы. где же найти примеры на DirectX или OpenGL, чтобы посмотреть как там написано. оказывается все проще.
Книги серии GPU Pro советую почитать — там про всякие графические техники(volumetric explosion, deferred shading, deferred ligting и тд). Правда они на английском, но как сказано в книги в книги Луны:
if you want to be a good game programmer, you have to learn English

09.02.2017, 15:19 [ТС] 14

Исходники, где будет реализован простейший трехмерный движок, чтобы его можно было запустить с исходника. И работал он через библиотеку DirectX.
Ну и интересно взглянуть на рабочий исходник по прямым кодам без библиотеки DirectX.

Добавлено через 2 минуты

Что такое GAPI ? поиск не дал ответа.
Ну я бы попросил исходник этой альтернативы.

Добавлено через 2 минуты

Хорошо бы было, если бы что-нибудь или кто-нибудь поспособствовал получению этой информации. При изучении графики наталкиваемся на DirectX. Знаем что библиотека. Думали хорошая библиотека. Ан. нет с косяками. Пишут в книгах: Вот Вам приготовили библиотеку пользуйтесь на здоровье=а столько гемороя с ошибками.

Добавлено через 1 минуту

09.02.2017, 16:34 15

Graphic Apllication Programming Interfacing

Движок — это архитектура. Это структурирования для многократного использования. Это уже даже не относится к графике по большой части.
К примеру я реализовывал игровой движок на системе, которую называют DECS — Dynamic Entity Component System. По большей части, чтобы написать мне этот движок, мне вообще не нужно было изучать какие-то книги по DirectX и тд. Этим вообще занимается конкретный человек в команде при создании движка. Но так как я был один, приходилось все равно залезать в доки DirectX и писать.
Блин как же Вам донести? Вы знаете, что такое рефакторинг? Вот представьте себе, что Вы хотите просто писать по большей части суть игры, или какой-нибудь графической программы, но не вдаваться в подробности как там все это рисуется и симулируется физикой. Представили? Так вот зачем нужен движок. Вы даете пользователю Вашего движка больше сконцентрироваться на его задаче. А как уже такой движок написать? Это уже другой вопрос. Есть виды архитектур постоения игровых движков, какие-то лучше здесь, какие-то лучше там. Как пример, я Вам Сказал про DECS. Если хотите, почитайте. Но опять же повторюсь, когда Вы начнете его писать, у Вас будет больше проблем с структуризацией Вашего движка, чем с тем, как мне использовать DirectX

Френк Луна нормально для новичков пишет про DirectX. В его книгах описаны всякие техники реализаций с использованием DirectX, такие как реализация системы частиц, отложенного освещения, запеченного света, карты теней, пикинг и тд. Также к его книгам есть исходники всех его примеров.
Когда качаете DirectX SDK там в комплекте есть примеры, причем довольно хорошие. Посмотрите тоже

DirectX 11 — набор программных модулей и библиотек для обработки графических объектов

Обзор библиотеки DirectX
За всё время существования библиотека DirectX прошла большой путь апдейдов и каждая новая версия радовала всё новыми и новыми возможностями. В этой статьи я опишу возможности API DirectX. Кроме таких полезных фишек как поддержка новых устройств, в этой версии появился интерфейс, позволяющий легко использовать компоненты библиотеки DirectX в программах для платформы .NET Framework. DirectX является базой для XBox API, который используется разработчиками игр для консолей XBox.

Пакет DirectX SDK
Для успешного запуска компьютерной игры, написанной с использованием библиотеки Direct3D, достаточно будит установить пакет DirectX Runtime, содержащий набор динамических библиотек, драйверов устройств и конфигурационных файлов. Обычно установочный файл DirectX поставляется с играми, а так же его можно найти на дисках с драйверами. Этот набор библиотек в полном составе приблизительно занимает около 40 мегабайт. Но для самостоятельного создания игр или других графических приложений, использующих DirectX одним пакетом DirectX Runtime не обойтись. Для этого нам понадобиться пакет DirectX SDK который можно скачать совершенно бесплатно на сайте Microsoft. Для сравнения – установочный пакет DirectX SDK занимает 230 мегабайт.

Так как создание игр требует доступ к аппаратному обеспечению, то есть связь программной части игры с устройствами ввода и вывода. Например, чтобы увидеть какое-либо передвижение персонажи или объекта, нужно на него взаимодействовать. Обычно в играх, написанных для ПК, манипуляторами являются клавиатура и мышь, мышью мы можем изменить угол обзора или вектор направления движений, а при помощи клавиатуры мы можем изменить скорость, направление и даже стиль движения персонажа или объекта – это классика. Так же к устройствам ввода относятся геймпады, джойстики, рули – этим тебя уже не удивишь. А как на счёт таких девайсов как планшет, микрофон и вэб-камера – по сколько они тоже являются устройствами ввода – управлять игровыми персонажами или объектами можно даже при помощи сканера, вопрос лишь в целесообразности таких нестандартных решений.

Когда мы будим писать код для события «при нажатии на клавишу вперёд» нам потребуется задействовать библиотеку, которая отвечает за клавиатуру. В DirectX SDK есть компонент DirectInput, который как раз решит нашу задачу. Так же DirectX содержит все, необходимые для создания игры, наборы компонентов. Использование набора компонентов библиотеки DirectX сильно упрощает процесс программирование игр для Windows. Вам не придётся писать тысячи страниц кода для обработки событий клавиатуры или иного устройства ввода, так же в DirectX SDK есть наборы библиотек для работы с сетью, с медиа-файлами и с выводом изображения на монитор. Хотя DirectX SDK не является игровым движком, он упрощает сам процесс создания игр. А игровые движки – по большому счёту являются надстройками графических библиотек DirectX и OpenGL. Но даже игровой движок на DirectX проще написать, нежели игровой движок на OpenGL, так как OpenGL включает в себя исключительно библиотеки для работы с графикой и для полноценного игрового движка придётся писать самому или интегрировать сторонние библиотеки. В то время, как в DirectX есть всё, а сейчас мы рассмотрим что именно.

Из каких библиотек состоит DirectX SDK:
1. DirectXGraphics, набор интерфейсов для работы с графической частью игры. До версии 8.0 DirectX Graphics делился на:
1.1. DirectDraw: интерфейс вывода растровой графики (его разработка давно прекращена).
1.2. Direct3D (D3D): интерфейс вывода трёхмерных примитивов.
2. DirectInput: интерфейс, для обработки событий, связанных с использованием джойстика, клавиатуры, мыши, и других игровых контроллеров.
3. DirectPlay: интерфейс сетевой коммуникации игр, содержит средства для создания сетевых приложений.
4. DirectSound: интерфейс низкоуровневой работы со звуком (формата Wave)
5. DirectSound, DirectMusic и DirectX Media Objects (эти компоненты в версии 9.0 объединены под названием DirectX Audio): предоставляют средства программирования звука и MIDI-музыки.
6. DirectShow: интерфейс, используемый для ввода/вывода аудио и/или видео данных. Содержит средства для захвата и воспроизведения мультимедийных потоков. Начиная с версии 9.0, впервые появился набор библиотек, упрощающих создание программ для нелинейного монтажа или проигрывателей аудио и видео с применением real-time эффектов и красивых переходов между роликами – это DES, расшифровывается как DirectShow Editing Services.
7. DirectX Instruments — технология, позволяющая на основе мультимедийного API DirectX создавать и использовать программные синтезаторы. В отличие от DX-плагинов, такие программы могут полностью управляться по MIDI и служат главным образом не для обработки, а для синтеза звука. Технология DXi была популярна в 2001—2004 гг., особенно в программных продуктах Cakewalk, но со временем проиграла «войну форматов» технологии VST от Steinberg.
8. DirectSetup: часть, ответственная за установку DirectX. Позволяет настраивать установку DirectX на системах пользователей.
9. DirectX Media Objects: реализует функциональную поддержку потоковых объектов (например, кодировщики/декодировщики)
10. DirectX Sample Browser: оболочка с дружественным интерфейсом, содержащая примеры и туториалы по использованию библиотек DirectX SDK.
11. Direct2D: интерфейс вывода двухмерной графики
12. DirectX Diagnostics: (dxdiag) программный интерфейс для диагностики драйверов и оборудования.


Так выглядит окно оболочки DirectX Sample Browser. Тут все инструкции по DirectX SDK.

Ссылка на основную публикацию