BitBlt + OpenGL (рисование поверх чужого окна)

Тема в разделе "WASM.OpenGL", создана пользователем kropalik, 22 ноя 2005.

  1. kropalik

    kropalik New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2005
    Сообщения:
    155
    Адрес:
    msk
    есть DLL которая загружается

    к процессу wow.exe ( клиент WorldOfWarcraft )

    и децл модифицирует передаваемые по сети данные.

    хорошо бы еще сделать вывод информации в окне

    самого wow. пробовал вызывать BitBlt

    (из своего окна в wow) - появляется на короткое

    время а потом исчезает. в общем вопрос такой:

    как устроить вывод в чужое окно своей инфы

    поверх того что там уже есть ?
     
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    Поищи по форуму (здесь или в оффлайновой версии). Поднимался такой вопрос уже и даже пару решений набросали.
     
  3. kropalik

    kropalik New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2005
    Сообщения:
    155
    Адрес:
    msk
    да я почти так и сделал (перехват DispatchMessage

    и после WM_PAINT вызываю BitBlt)



    может подскажете ключевые слова для поиска ?
     
  4. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    попробуй перехват glEnd() и вывод своей инфы перед ее вызовом.
     
  5. semen

    semen New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2004
    Сообщения:
    334
    Адрес:
    Russia
    kropalik

    Сделай оверлей и рисуй в нем - он точно будет поверх всего. Или создай свое окно.
     
  6. kropalik

    kropalik New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2005
    Сообщения:
    155
    Адрес:
    msk
    свое окно и так есть, но его не видно

    в fullscreen (кроме случая когда есть

    два монитора).



    перехват glEnd() работает но очень тормозит.

    (судя по логу вызывается весьма часто)

    вообще FPS примерно 40-50 так что наверно

    нет смысла перерисовывать чаще. может

    не glEnd() а что нибудь более подходящее ?
     
  7. _DEN_

    _DEN_ DEN

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



    Попробуй делать вывод сразу после SwapBuffers.
     
  8. _DEN_

    _DEN_ DEN

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







    Дай ему WS_EX_TOPMOST
     
  9. kropalik

    kropalik New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2005
    Сообщения:
    155
    Адрес:
    msk
    да спасибо похоже SwapBuffers подойдет.

    вообще окно ни к чему - мне только текст

    показывать нужно.