Як включити Overlay

Як включити Overlay

Оверлей являє собою апаратну функцію відеокарти, яка дає можливість накладання зображення на основний екран (первинну поверхню) без копіювання відеопам’яті. Накладення виконують у цифроаналогових перетворювачах відеокарт (RAMDAC) в процесі створення відправляються на монітор відеосигналів. RAMDAC в ході процесу сканує первинні поверхні порядково і перемикається на зображення-оверлей, коли доходить до нього.

Вам знадобиться

-Набор спецефектів з бібліотек.

Інструкція

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

Зверніть увагу

При виході їх програми необхідно оновити вміст на робочому столі.