В чем разница между opengl и direct3d?
Вопрос довольно “ламерский”, но что означают эти драйвера и где они применяются? Вопрос появился после прочтения следующего предложения во время изучения 3д макса: “Для более старых драйверов (Direct3D, OpenGL) с поддержкой алгоритмов Adaptive Degradation (Адаптивное снижение качества) доступна группа параметров Adapt Object Display by Priority”
Лучший ответ
Насколько я знаю-
D3D там красивее графон но меньше фпс
Opengl там больше попугайчиков+ Адаптивное снижение качества которое ты сказал
Остальные ответы
ну в нете же куча статей именно по сравнению. Что ж сюда их все копировать? Достаточно ваш вопрос в гугле набрать
Примерно в том же, что между дизелем и ванкелем. Но оба ездят.
Direct3D – Это разработка исключительно компании Microsoft и работает, только на системах Windows. Применяется в 3D играх и во всех программах 3D моделирования и приложениях для Windows.
OpenGL – Независимая разработка, разрабатывалась Silicon Graphics, а теперь и Khronos Group. Применяется на всех известных операционных системах: Windows, MAC, Android и других системах на ядре Linux. Так же как и Direct3D, применяется в компьютерных играх, в программах 3D моделирования и разных приложениях.
На глаз, отличий в 3D графике между Direct3D и OpenGL вы ни каких не заметите. При условии если OpenGL вы будите сравнивать с Direct3D ни в ОС Windows, а в какой ни будь Ubuntu, Debian, Mint или OpenSUSE. Так как в Windows, поддержка OpenGL плохо реализована, по соображению компании Microsoft, что бы OpenGL не смог конкурировать с Direct3D на Windows.
А в ОС на ядре Linux, разработчики видео-карт могут без проблем максимально оптимизировать драйвера для работы своих видео-карт с OpenGL.
Direct3D
Direct3D — это низкоуровневый API для рисования примитивов с помощью конвейера отрисовки или для выполнения параллельных операций с помощью вычислительного шейдера. Дополнительные сведения см. в содержимом ниже.
Сведения о получении и установке Direct3D см. в разделе Настройка среды программирования Direct3D 12.
В этом разделе
Раздел | Описание |
---|---|
Начало работы с Direct3D | Подробное описание Direct3D, различных моделей приложений, различных версий, отрисовки и вычислений. |
Графика Direct3D 12 | Direct3D 12 предоставляет API и платформу, которая позволяет приложению использовать графические и вычислительные возможности компьютеров, оснащенных одним или несколькими GPU, совместимыми с Direct3D 12. |
Графика Direct3D 11 | Вы можете использовать графику Microsoft Direct3D 11 для создания трехмерной графики для игр, научных и классических приложений. |
DXGI | DXGI обрабатывает перечисление графических адаптеров, перечисление режимов отображения, выбор форматов буфера, совместное использование ресурсов между процессами и представление отрисованных кадров в окно или монитор для отображения. |
HLSL | HLSL — это высокоуровневый язык шейдеров для DirectX. С помощью HLSL можно создавать программируемые шейдеры C для конвейера Direct3D. |
DDS | Формат файлов поверхности DirectDraw (DDS) поддерживает несжатые и сжатые (DXTn) текстуры, MIP-карты, карты кубов и карты томов. Он поддерживается DirectXTex, DirectXTK, устаревшими D3DX и другими инструментами DirectX. |
Обратная связь
Были ли сведения на этой странице полезными?
Начало работы с Direct3D
Direct3D — это низкоуровневый API для рисования примитивов с помощью конвейера отрисовки или для выполнения параллельных операций с помощью шейдера вычислений.
Что такое Direct3D?
Direct3D — это низкоуровневый API, который можно использовать для рисования треугольников, линий или точек на кадре, а также для запуска операций с высокой степенью параллелизма на GPU.
- Скрывает различные реализации GPU за согласованной абстракцией. Но вам все равно нужно знать, как рисовать трехмерную графику.
- Предназначен для управления отдельным графическим процессором. Новые GPU имеют сотни или тысячи параллельных процессоров.
- Подчеркивает параллельную обработку. Вы настраиваете множество состояний отрисовки или вычислений, а затем запускаете операцию. Вы не ждете немедленной обратной связи от операции. Вы не смешиваете операции ЦП и GPU.
Какие API Direct3D можно использовать?
Выбранные API Direct3D зависят от стиля приложения, которое вы хотите написать.
- Если вы хотите написать приложение UWP, используйте подмножество API Direct3D 11, DXGI и HLSL. Список этих API см. в статье Api Win32 и COM для приложений UWP. Сведения о создании приложения Direct3D 11 из Магазина Windows см. в статье Создание трехмерной графики с помощью DirectX.
- При написании классического приложения можно использовать полный набор API Direct3D 11, DXGI и HLSL.
- Начиная с Windows 8, мы больше не поддерживаем платформу XNA для классических приложений. Но приложения Магазина Windows, приложения UWP и классические приложения могут использовать полный набор API XAudio2 и DirectXMath . Классические приложения могут использовать полный набор API XInput , в то время как приложения Магазина Windows и приложения UWP могут использовать большинство API XInput; Дополнительные сведения см. в разделе Версии XInput.
Какая версия Direct3D?
Выбранная версия API Direct3D зависит от операционной системы и уровня оборудования, на который вы хотите ориентироваться.
- Если вы хотите использовать Windows 8 и более поздних версий, используйте API Direct3D 11.
- Используйте API Direct3D 9 в Windows XP и более поздних версий. Все оборудование поддерживает API Direct3D 9, даже более новое оборудование Уровня Direct3D 11.
- Используйте API Direct3D 10 с Windows Vista и более поздних версий. Api Direct3D 10 поддерживает только оборудование Direct3D 10 и более поздних версий.
- Используйте API Direct3D 10.1 и Direct3D 11 в Windows 7 и более поздних версий. Api Direct3D 10.1 и Direct3D 11 также можно использовать в Windows Vista с пакетом обновления 2 (SP2).
Конвейер отрисовки Direct3D
В конвейере отрисовки Direct3D данные поступают из нескольких источников, таких как притоки реки.
- Некоторые части потока программируются.
- Некоторые части имеют ручки и циферблаты.
- Источниками данных являются либо последовательные потоки пакетов (вершины), либо индексируемые массивы (ресурсы шейдера).
- Вершины и ресурсы шейдеров перетекают в примитивы, которые можно усилить.
- Примитивы и ресурсы шейдеров передаются в пиксельные операции.
Шейдер вычислений Direct3D
При использовании шейдера вычислений Direct3D все процессоры GPU выполняются параллельно. Таким образом, вычислительный шейдер ведет себя больше как пруд, чем река.
Обратная связь
Были ли сведения на этой странице полезными?
При подготовке материала использовались источники:
https://otvet.mail.ru/question/195627577
https://learn.microsoft.com/ru-ru/windows/win32/direct3d
https://learn.microsoft.com/ru-ru/windows/win32/getting-started-with-direct3d