| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > Overlay ???? |
| Автор: Tsukasa 17.8.2009, 12:45 |
| Имеется вопрос требуется или конкретный пример или ссылку на материал Google и так уже давно юзаю но пока не срослось или я недопонимаю Смысл прост - Требуется наложить свой дополнительный интерфейс поверх любой программы которой потребуется (в частности конкретно интересует наложение поверх полно экранных приложений(вероятно игр)) подобный интерфейс наблюдается в сервисе Steam от небезызвестной Valve но насколько я понимаю там просто используется прослойка и все приложения имеют дополнительный код для интерфейса..... в общем есть пища для ума... Надеюсь на скорый ответ а пока ушел шерстить дальше. Также возникла интересная мысль использовать Стимовскую библиотеку GameOverlayRenderer.dll мож и получится что, пока не разбирался =/ ... |
| Автор: Tsukasa 18.8.2009, 22:04 |
| Хорошо, Вопрос наводящий..... Для реализации подобной задумки необходимо использовать DX \ OGL или достаточно GDI+ Если придётся реализовывать в DX \ OGL , то как следует работать? (Нужноли будет постоянно переключать режимы(в смысле в приложением использующим DX работать в DX и наоборот или же достаточно одного режима.)) |
| Автор: Alexeis 18.8.2009, 22:39 |
| Tsukasa, насколько я помню эта функция есть в DirectDraw. Вывод в оверлей. |
| Автор: Tsukasa 19.8.2009, 07:31 |
| Вероятно, прост почему появился вопрос, Стимовский вариант работает насколько я понял в OGL т.к. незнаю каким образом (т.к. она не обнаружена в комплете) но анализатор выдаёт что используется у них именно OGl вот и заинтересовался, а так как пишу в CG rad 2009 Delphi, то тут вопрос нормального подключения DX встаёт остро, т.к. я нашел адаптацию заголовков SDK для 2009го только совместимые с jedi (ох и намаялся....), и соответственно как это всё подключить корректно для меня составляет достаточно занятную историю.... вот как-то так да и для изучения OGL полегче (вариантов куча, и кстати адаптацию о5 рыскать придётся =( .... обижен..... т.к. юникод много полезнее.....) а в DD вроде чтот было подобное....... пока для разбора статейку старую листаю.... http://www.delphimaster.ru/articles/directx/index.html |
| Автор: Alexeis 19.8.2009, 09:24 |
| На счет заголовоков самое свежее тут http://www.clootie.ru/ . Адаптация производиться просто. Как правило такие заголовки имеют дефайны. Т.е. в зависимости от версии нужно подключать разные куски кода. Если вдруг компилятор дает ошибку, то не нужно волноваться, скорее всего достаточно в опциях проекта включить дефайн открывающий соседний код и закрывающий текущий. Дефайн можно включить и локально для текущего модуля директивой {$define <имя дефайна>} или же наоборот отключить при помощи {$undef <имя дефайна>}. Не стоит править модули руками. Вы наверняка пропустите какое-нибудь место. Как правило все уже продумано за нас. Бывает что заголовки адаптированы максимум для Delphi7, но если оно работает для Delphi7 то на 99% что будет работать и для Delphi 2007, так что достаточно объявить дефайн для Delphi7 и все будет правильно компилироваться. Для Delphi 2009 нужно проверять не используются ли типы String / PChar. Возможно придется в начале каждого модуля заголовка ставить {$undef unicode} или же сделать автозамену PChar -> PAnsiChar Char -> AnsiChar String -> AnsiString После таких замен заголовки должны работать как в Delphi 2007. |
| Автор: Tsukasa 19.8.2009, 12:02 |
| Спасибо за направление, осталось ток научится работать c DX, но этому должны обучить книги благо уже нашел несколько.. Чесно говоря забыл о такой простой вещи PChar -> PAnsiChar Char -> AnsiChar String -> AnsiString Забегался...... Но насколько понимаю - если использовать модули работающие с jedi то типы подменяются как раз за счёт jcl и работа должна осуществлятся за счёт изменений в jcl или я чёт недопонимаю и грабли все равно могут лежать не там ? Пардон за флуд на форуме, проверять все догадки некогда поэтому приходится вначале собирать багаж теории =(... обычно вначале пробую по литературе - ругаю писателя литературы, нахожу грабли и адаптирую.... после чего занимаюсь оптимизацией...... ну а после иногда и сам чё нить типа мануала пишу - но вот данная тема для меня нова да и времени как назло нету. (также пардон за кривопись.... последние пару суток толком не спал =( .) |
| Автор: Tsukasa 19.8.2009, 19:59 |
| Проэкт Jedi может и закрылся оффициально теми кто его поддерживал..., но его адаптировала насколько я понял сама Embarcadero, т.е. версия для 2009й делфи существует (d 12). (http://jvcl.delphi-jedi.org) А проблема ещё в том что я не могу использовать DX10..... в виду ряда ограничений. И я буду надеяться что все заголовки будут нормально работать, а вообще большое спасибо - помогли не боятся и завтра начну ставить первые эксперименты (т.к. для того что задумал придётся ещё несколько категорий выучить =) Хотя данный вопрос оставлю открытым.) |
| Автор: Alexeis 19.8.2009, 20:55 | ||
Так оно же все включает себя. 10й directx включает 9/8/7 для совместимости. Вероятнее всего эти заголовки можно использовать для любого дирктикса (если только их искусственно не урезали). |
| Автор: Tsukasa 19.8.2009, 21:07 | ||
Занятненько И проверим |