SDK для внутриигровых оверлеев - PullRequest
1 голос
/ 07 сентября 2010

В той небольшой информации, которую мне удалось найти при разработке наложений в игре (аналогично тому, что делает Steam), упоминается о необходимости перехватывать вызовы функции смены кадров графического API и подключать к ней мою собственную процедуру рисования.

Похоже, это то, что делает Mumble (игровой VoIP). Поскольку я никогда не делал ничего, что связано с перехватом, и поскольку у меня нет особого опыта работы с DirectX, мне интересно, есть ли какой-нибудь SDK или даже просто более читаемый пример, чем Mumble, который также реализует ввод, это демонстрирует, как реализовать интерактивное наложение в игре. Мамбл хорош, но я, кажется, не могу обернуть его вокруг, особенно вокруг более интересных вещей, которые он делает, чтобы правильно зацепить свои вещи.

Кроме того, если у вас есть более подробная информация о том, как это сделать на Mac и Linux ...: -)

Ответы [ 2 ]

1 голос
/ 10 сентября 2010

Может быть GLIntercept может дать вам некоторое вдохновение.Он предоставляет файл openGL.dll, который вы помещаете в папку вашего приложения.Windows загружает эту dll вместо system32 из-за правил приоритета.GLIntercept перенаправляет все вызовы в dll системы32, но при этом регистрирует их все.Итак, вы могли бы реализовать свой собственный glSwapBuffers (), который рендерит еще несколько вещей, а затем перенаправит вызов.

Также доступен исходный код.

Я поднимаю ваш вопрос, и язаинтересованы в ваших будущих открытиях ... не стесняйтесь перепечатывать, когда у вас есть больше информации:)

1 голос
/ 07 сентября 2010
  • Начните с разработки своего оверлея без перехвата графического API. Помните, что при вводе с клавиатуры должны использоваться глобальные перехватчики.
  • Интегрируйте его в приложение, используя DLL-перехватчик Direct3D. Google, чтобы получить базовый код.

Edit:

...