Графика из драйвера

Тема в разделе "WASM.GRAPHICS", создана пользователем blood, 2 янв 2005.

  1. blood

    blood New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2004
    Сообщения:
    56
    Адрес:
    Russia
    Никто не задумывался - как так softice выводит свое окошко? Думаю без оверлеев здесь не обошлось. Как ко всему этому относится DirectX? С трудом себе представляю как его (да и OpenGL) можно использовать из драйвера, да еще и при IRLQ не PASSIVE_LEVEL.
     
  2. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    [ blood: Никто не задумывался - как так softice выводит свое окошко? ]



    С помощью своего видеодрайвера Siwvid.
     
  3. blood

    blood New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2004
    Сообщения:
    56
    Адрес:
    Russia
    Я понимаю. Я имел ввиду, как работает универсальный видеодрайвер? Какие функции DirecX можно использовать для вывода графики из драйвера. Или может быть както можно использовать виндовые видео драйвера для этого. Вообще есть способ не использовать напрямую порты видеокарты чтобы выводить графику из ring0?
     
  4. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    В ДДК есть раздел "Display and Print Devices" и там такие интересные подразделы "DirectDraw Display Driver Interfaces", "Direct3D Display Driver Interfaces", "DirectX Video Acceleration Structures and Enumerations" и т.п. Какое это имеет отношение к "Графике из драйвера" я не знаю, т.к. никогда дело с этим не имел, но судя по названиям...
     
  5. blood

    blood New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2004
    Сообщения:
    56
    Адрес:
    Russia
    Спасибо. Посмотрю.
     
  6. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow
    blood

    странно, а зачем ипользовать порты в\в для вывода графики ?

    вообще то режим directdraw подразумевает прямой вывод данных в память. Всего навсего надо точно знать, куда промепирована видеопамять. И это просто, всего навсего нужно обратиться к реестру, там всё описано специальными структурами достотаточно подробно задокумментированными в DDK. На мой взгляд, это очень простой вопрос.
     
  7. blood

    blood New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2004
    Сообщения:
    56
    Адрес:
    Russia
    порты в\в

    Это я все про оверлеи. Не хотел трогать основную страницу.

    это очень простой вопрос

    Ну незнал я, где взять адрес видеопамяти, что теперь сделаешь... Спасибо.
     
  8. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    SoftIce для вывода своего окна использует прямую работу с видеопамятью, а не средства системы. Если делать также, то нужно останавливать всю систему на время вывода своего изображения, а перед запуском восстанавливать видеопамять, а иначе будут проблемы.
     
  9. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    CARDINAL, можно по подробней по поваду нахождения адреса видиопамяти...

    сам, долго и безуспешно пытался ёе найти, или перемапить....
     
  10. MoKC0DeR

    MoKC0DeR New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2003
    Сообщения:
    136
    Адрес:
    Russia
    Ms Rem


    От куда такая инфа ? Если это просто догадки надо писать ИМХО. Если это достоверные данные - подтверждение.
     
  11. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    MoKC0DeR, всёго скорее именно так, это самый простой и дественный способ вывода "оконного" изображения из драйвера.
     
  12. blood

    blood New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2004
    Сообщения:
    56
    Адрес:
    Russia
    У меня пример на оверлеи из MSDN(там такой пучеглазый комар летает) странно себя вел с софтайсом, вот я и подумал, мол не спроста..
     
  13. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    blood

    А еще софтайс в window-mode мышку не перекрывает :)
     
  14. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    _DEN_, естественно, курсор то поддерживается на уровне видиоконтроллера и не отображается в видиобуфер.

    CARDINAL, может всё-же чиркнёшь пару строк?
     
  15. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    ProgramMan > Если это просто догадки надо писать ИМХО.

    Софтайс может работать сразу после старта ядра системы, когда никакая графика еще не загружена. Он использует свой видеодрайвер Siwvid который напрямую работает с видеопамятью (подтверждается дизассемблированием).

    А также, если софтайс работал бы с виндовыми дровами, то зачем тогда при конфигурации надо тип видюхи выбирать?

    Так что там используется прямой вывод в видеопамять и никак иначе.
     
  16. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    Ms Rem, Если это просто догадки надо писать ИМХО. Это к чему? Я вообшето "сторонник прямово вывода в идиомамять" или это по поваду мыши...?