Як включити Overlay.

Оверлей являє собою апаратну функцію відеокарти, яка дає можливість накладення зображення на основний екран (первинну поверхню) без копіювання відеопам'яті. Накладення виконують в цифроаналогових преобразователях відеокарт (RAMDAC) в процесі створення відправляються на монітор відеосигналів. RAMDAC в ході процесу сканує первинні поверхні рядках та переключається на зображення-оверлей, коли доходить до нього.
Вам знадобиться
  • -Набор спецефектів з бібліотек.
Інструкція
1
Для включення Overlay необхідно розглянути написання виводить деякі спецефекти на поверхню робочого столу програми, або на місця довільних кольорів (якщо порахувати основним режимом режим малювання на поверхні робочого столу).
2
Виберіть спецефект. Костьольна вибору спецефектів особливо утруднятися не варто - їх можна просто запозичити в прикладах до бібліотек FastLIB, наприклад - алгоритми малювання вогняної кулі. Після цього необхідно додати до ефекту нескладну систему частинок, і назвати отриманий результат так, як це буде зручно. Ініціалізуйте DirectDraw. Ініціалізувати має сенс тільки первинні поверхні.
3
Перевірте можливість виведення оверлею і його створення. Для цього використовуйте функцію GetOverlayCaps. В GetOverlayCaps нічого складного і цікавого немає - він є перенесенням із DDCaps кожного пов'язаного з оверлеїв біта або значення в більш структуру з більшою компактністю - TOverlayCaps. Далі слід виправити розміри оверлею для того, щоб вони відповідали отриманим в ході використання функції параметрам. В реальності ймовірність успішного виконання подібного коду вкрай незначна, тому особливо акцентувати на ньому увагу не варто - зокрема, його розмір не слід обмежувати щоб уникнути сповільненій роботи, не обов'язково перевіряти розміри в байтах на можливість проникнути в вміст відеопам'яті і так далі.
4
В цілому, перевірку варто проводити більш для отримання звіту, оскільки сам процес створення оверлею робиться методом повного перебору. Справа в тому, що не існує і не створено жодних функцій на зразок EnumOverlayFormats, тому користувач повинен перевірити будь-які уявні формат і сподіватися, що йому пощастить. Існує, правда, функція IDirectDraw7GetFourCCCodes, яка призначена для визначення коди не-RGB формату (FourCC), але вона включає не тільки необхідні YUV, а й формат стислій текстури, та інші. Використовувати весь список і визначати кожен формат як YUV або НЕ YUV представляється нераціональним.
5
Заберіть зображення з робочого столу, якщо таке присутнє, і надайте йому кольору DCK. Увімкніть оверлей з кольором DCK. Оверлей буде включений і готовий до роботи. Візуальні ефекти його використання можна буде оцінити після згортання всіх робочих вікон.
Зверніть увагу
При виході їх програми необхідно оновити вміст на робочому столі.