для чего нужен директ х



Директ х для чего нужен

Автор Дмитрий Широких задал вопрос в разделе Прочие

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

Ответ от Петрина Александр[гуру]
значит хреново шаришь.. . директикс - это набор библиотек для отрисовки изображения, сглаживания, рисования текстур, рисование 3d-объектов и так далее, также звук.. . в общем, это то, без чего твоя игра будет смотреться мозайкой.. .
такой же библиотекой еще является бесплатная и кроссплатформенная opengl

Ответ от Андрей Морозов[гуру]
Одним из основных положительных сторон версии директ x считается ее улучшенная вероятность работы с многоядерными высокопроизводительными системами. А достигается данное с помощью применения асинхронной модели распределения перегрузки меж ядрами CPU, а еще через масштабирование всех ресурсов центрального процессора при исполнении точных задач в Directx. Входящий в состав директ x модуль Direct3D Device имеет возможность совершать асинхронные вызовы разных функций API при содействии с драйвером. Это раскрывает слишком широкие способности для разработчиков программного обеспечения по решению задач различных параллельных вычислений разной степени сложности.
Также данный модуль директ x поддерживает немного не столько прямой, да и вспомогательный контексты визуализаций. Прямой контекст (Immediate Context) нужен для главный работы с GPU, а доп (Deferred Contexts) работают персональным целям разработчиков программного обеспечения и обрабатываются любой в собственном потоке. Сложные графические задачки в DirectX 11 разбиваются на немного маленьких, которые через доп контексты направляются на обработку в отдельные ядра системы. А рассчитанный эффект попадает в единую очередь и выводит через главный контекст. Таким образом случается распараллеливание вычислений разной сложности и оптимизирует использование всех ресурсов системы с помощью директ x.

Ответ от Fatalist[гуру]
Это набор кодеков от Майкрософт, для воспроизведения аудио и видео файлов.

Ответ от Леночка[гуру]
а ты его полностью удали и заметишь разницу

Ответ от Александр Яковлев[гуру]
все просто:
для того чтобы играть - нужно обновлять изображение на экране.
Если игра основана на спрайтовой графике (двумерные картинки -их нельзя повернуть) - это такие старые игры, как Тени Амна, Арканум, Фоллайт 1 и 2 - то там директ икс используется для того, чтобы быстро копировать картинки из буфера, и сделать над каждым пикселем какую-нибдь несложную операцию, например сложение цвета, чтобы все пиксели скопированной одежды, например были светлей (днем) или темней (ночью)
это подчасть DirectDraw, которая неизменна примерно с версии DX 6.2
Директ икс использовался в качестве удобной библиотеки классов для манипуляции с ресурсами, и заодно для доступа к звуку и если надо к джойстику и клавиатуре, причем можно было получать доступ быстрее, чем события пройдут через стандартную цепочку событий виндус.
начиная с direct X 7 стала развиваться и активно в играх использоваться библиотека Direct 3D.
Direct 3D - это часть Direct X
Ей была альтернатива OpenGL.
Как это устроено: Все трехмерные обьекты состоят либо из треугольников (еще линий и точек, но в играх линий и точек не увидеть почти) . Треугольник состоит из трех вершин. чтобы нарисовать модельку самолета - нужно использовать 100-4000 треугольников.
чтобы нарисовать 1 треугольник нужно его вершины спроектировать на плоскость экрана. Чтобы спроентировать на плоскость экрана - не надо решать никаких сложных уравнений, все это можно сделать просто - умножить на матрицу проецирования.
много точек - значит это должна умножать видеокарта.
Потом получившиеся точки соединить линиями, и пиксели которые оказались внутри треугольника - закрасить нужным цветом.
Вот тут и пояляется различие между Direct 3D и OpenGL
До появления идеи использовать шейдеры и, так называемый программируемый конвейер, было устроено так, что картинка которую можно получить через OpenGL была визуально менее красивая чем картинка, которую можно было получить через Direct 3D, потому, что в OpenGL не была реализована модель закраски по Фонгу, а была только модель закраски по Гуро.
Рекомендую найти в википедии картинки с сравниением видов закраски по Гуро и по Фонгу.
Поэтому, производители игр реализовывали оба варианта (например в half-life 1 в качестве рендера можно выбрать и OpenGL и Direc 3D.
OpenGL -был быстрее, а direct 3D красивее.
Дело в том, что OpenGL это промышленный стандарт, и он бюрократически утверждается дольше, чем одна компания Microsoft может быстрей изменить в своем продукте.
потом в 2004 долго бюрократически затягивался выход OpenGL 2.0
и все кому важна красота "уже сейчас" (типа надо делать игры) однозначно перешли на DirectX
Сейчас оба варианта OpenGL и Direct3D по возможностям картинки дург другу не уступают, однако сейчас для игр класса ААА не пишут собственный движек с нуля, так как знают что для такого проекта должны быть потрачены гигантские деньги на рекламу, на художников, и можно с экономить время и деньги, если купить уже отлаженный Unreal Engine который использует Direct 3D ( как часть Direct X)
Если понравилось - учи математику, информатику, и поступай к нам в Станкин изучать информационные технологии.

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Народ помогите сто лет в компе шарю, ну и в играх тоже, НО не как не могу понять зачем нужен этото директ х
DirectX на Википедии
Посмотрите статью на википедии про DirectX
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*