DirectX v7 v8 v9 v10 v11 ? какая разница

Тема в разделе "WASM.DirectX", создана пользователем Zhelezka, 14 сен 2008.

  1. Zhelezka

    Zhelezka New Member

    Публикаций:
    0
    Регистрация:
    21 июл 2008
    Сообщения:
    103
    Какая разница в разных версиях DirectX?
    Что нового, что ускорилось, что замедлилось, какая совместимость?
    Поподробнее о шейдерах?
     
  2. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Zhelezka
    DirectX 10. Ввиста другая модель ядра в области видео драйвера. Поддержка 4 шейдеров. И вообще весь движек переписали что ускорило обработку.
    DirectX 9. Поддержка 3 шейдоров.
    DirectX 8. Появилась поддержка шейдеров, до этой версии если не ошибаюсь таковых не имел.
    DirectX 7. Шейдоры не держал, но кое какие спец эфекты позволял делать.
     
  3. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    DX7 -- по сути, чисто "плоский", т.е. двухмерный режим. Фактически обеспечивал прямой доступ к видеопамяти и связанные с этим манипуляции. Трёхмерные возможности зачаточные, если память не изменяет.

    DX8 -- появление полноценной трёхмерки. Для отрисовки сцены графическому конвейеру "скармливаются" треугольники, из которых формируются изображения, и текстуры. Поддержка шейдеров 1 версии (насчёт второй -- не скажу).

    DX9 -- то же самое, но с расширенными возможностями. Самое важное -- поддержка шейдеров 3 версии.

    DX10 -- кардинальная переработка всего и вся. Графические процессоры получили свою виртуальную память, из-за чего сам DX потребовалось кардинальным образом переделать. Появились шейдеры 4 версии, где помимо ранее существовавших вершинных и пиксельных добавились ещё и геометрические. Графический конвейер стал существенно другим. В общем, между DX10 и DX9 разницы почти столько же, сколько между DX8 и DX7.
     
  4. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    SII
    Недавно писал что-то 3Д-шное. Было только 3-е ДХ SDK. Под конец появились и более старшие до 9-ки/10-ки. Не скажу, что в них появилось сильно много необходимого, хоть примеры и впечатляют. В 3-ке были и треугольники и даже наложение текстуры по UV. Вроде.. нечетко помню.. сохранял в файл с привязкой.. а как восстанавливал.. может и брешу. Но для небольших работ вполне подходит. и маленькое.
    може я чего там не заметил. Что такое полноценная трехмерка?
     
  5. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    В 7 достаточно развитая трёхмерка, но она устроена как надстройка плоской модели.
    В 8 плоская модель исчезла, а трёхмерка стала основным и единственным назначением ДХ, за счёт этого стало проще работать с 3D, зато тесли нужен собственно прямой доступ к видеопамяти ради которго ДХ изначально и придумали нужно вызывать интерфейс 7 или младше.
     
  6. keYMax

    keYMax New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2003
    Сообщения:
    276
    Адрес:
    Новоуральск
    Доступ к поверхностям, ну или по крайней мере, достать информацию из бэк буфера или фронт буфера, и даже z-буфера можно и в 8 и 9 версии. Также есть доступ к поверхностям текстур. Просто это стало более извратно и есть ограничения. Да и скорость при этом падает ниже плинтуса.

    Вот еще очень старенькая статья по всем версиям dx вплоть до 9-го с первыми апдейтами.
     
  7. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    keYMax
    По-моему в сравнении с остальными частями процесса не так уже оно и затратно.
     
  8. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    keYMax
    Интересно.
     
  9. slavanap

    slavanap Вячеслав

    Публикаций:
    0
    Регистрация:
    10 сен 2008
    Сообщения:
    300
    Адрес:
    Смоленск, Россия
    Интересно, а можно как-нибудь шейдеры в DirectX сэмулировать? Пиксельные. Хоть как-нибудь, даже с большими тормозами, лишь бы работало.
     
  10. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    slavanap
    Здесь пишут, что они поддерживаются начиная с 8-ки (сам не разбирался)
     
  11. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    slavanap
    Ну, можно при создании устройства Direct3D указать, что используется не аппаратное ускорение (HAL), а программная эмуляция (Reference). Тогда будет работать на любой видюхе, но и скорость будет соответствующая. Правда, эмулируется программно всё сразу: нельзя, например, эмулировать шейдеры, но оставить обработку треугольников "железу".
     
  12. slavanap

    slavanap Вячеслав

    Публикаций:
    0
    Регистрация:
    10 сен 2008
    Сообщения:
    300
    Адрес:
    Смоленск, Россия
    SII
    Не подскажешь какую-нибудь литературу, в которой описывается, как это сделать?
    Задача: Есть прога. И для этой проги нужно полностью сэмулировать 3D.
    Реально ли это?
     
  13. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    slavanap
    Для начала залезь в свойства экрана -> параметры -> дополнительно -> диагностика и пограй движком аппаратного ускорения, и там рядом вкладка свойств "от производителя" карты иногда в них возможна кое-какая настройка.
     
  14. slavanap

    slavanap Вячеслав

    Публикаций:
    0
    Регистрация:
    10 сен 2008
    Сообщения:
    300
    Адрес:
    Смоленск, Россия
    Y_Mur
    Если уменьшать аппаратное ускорение, то игра не грузится вообще.
    А со страницей свойств драйвера играл - только BSOD вылетает все равно.

    P.S. Если Интеловцы не знают, как это исправить, то предоставили бы они хоть шанс общественности. Инфу о том, как общаться с железом, например.
     
  15. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    slavanap
    Это надо либо саму прогу менять, либо перехватывать её обращения к DirectX для создания устройства 3D и просто подменять тип устройства (ХАЛ на Референс). Технически реально, ну а насколько сложно в конкретном случае, я, есно, не скажу.

    Пы.Сы. Всё описано в ДиректХ СДК ну и в книжках про ДиректХ.
     
  16. exst

    exst New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2009
    Сообщения:
    91
    На их сайте полно...
     
  17. SerafimR

    SerafimR New Member

    Публикаций:
    0
    Регистрация:
    7 фев 2009
    Сообщения:
    24
    slavanap
    Если ещё актуально, то вот программа, которая эмулирует шейдеры DirectX - http://www.transgaming.com/products/swiftshader/.
    Также есть сайт - весьма полезный www.gamedev.ru, если не знаете, там по графике и играм много информации и примеров программ.
     
  18. slavanap

    slavanap Вячеслав

    Публикаций:
    0
    Регистрация:
    10 сен 2008
    Сообщения:
    300
    Адрес:
    Смоленск, Россия
    SerafimR,
    Спасибо большое. Актуально.
    Потестирую.
     
  19. MEPOX

    MEPOX New Member

    Публикаций:
    0
    Регистрация:
    15 авг 2008
    Сообщения:
    259
    Если мне моя память не изменяет, то 3д было как минимум начиная с directX 5, так как unreal его держал...directx 4 не существует, а directx 3 по-моему только 2д, я уже и не помню..

    Что касается directx 11, то там по-моему "многозадачность" переработана(на thg видел статейку), а так это почти тот же directx 10. еще вроде обещали в него тесселяцию добавить(в 11)..

    directx10 не совместим со всеми преведущими. все байки про то что его можно поставить на хр бред сивой кобылы, то есть поставить-то, конечно, можно, но ничего работать ес-но не будет=)
     
  20. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    MEPOX
    в описаниии dx2 есть описание и d3d обоих мод