Delphi - DirectX - OSD / Screen Overlay

Добрый вечер, ребята, В настоящее время я работаю над монитором температуры графического процессора NVIDIA в Delphi 2010. Он также будет предоставлять системную информацию из WMI.

В настоящее время я работаю над несколькими различными методами OSD (экранного меню) для разных ситуаций. У меня уже есть 2 метода, но мне нужен еще один специально для игр.

Я хочу отобразить наложение или OSD с некоторым текстом, используя Direct2D или Direct3D. Внедрение DLL рискованно, не говоря уже о том, что его сложно довести до совершенства. Как вы понимаете, я пытаюсь наложить его на игры, но наложение где угодно было бы не хуже.

Как вы понимаете, использование Direct2D или Direct3D для наложения было бы намного лучше. Подключение было бы одной из идей, но опять же, это, вероятно, привело бы к тому, что мне тоже нужно было внедрять код.

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

Я, честно говоря, не возражаю, если мне нужно будет подсесть и / или уколоть, но у меня нет опыта в этом, и мне абсолютно необходима большая помощь с этим. Сделать что-то похожее на то, что делают MSI Afterburner или FRAPS, было бы именно тем, что мне нужно.

Мне также не хватает каких-либо знаний о программировании или дизайне DX, так что здесь снова нужна серьезная помощь. У меня большая часть приложения спроектирована и работает, и дело в том, чтобы закончить эту большую задачу и очистить другие более мелкие части.

Есть идеи?

Отредактировано: Уменьшено количество абзацев для облегчения чтения. Скорее всего, уменьшение этого количества недостаточно для объяснения сути. Для людей, которые видели отредактированную версию, я провел серьезное исследование, но не дал никаких результатов.

Отредактировано: Больше никто не вводил? Можно ли вместо этого использовать DLL, написанную на другом языке, для вывода OSD и просто передавать ей мои параметры? Если да, то как мне это сделать и есть ли какой-нибудь образец кода на любом языке, с которым я мог бы работать?

7
задан Scott Pritchard 16 December 2011 в 17:56
поделиться