![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Устранение мигания фонового изображения при использовании OpenGL в FMXDelphi , Графика и Игры , OpenGLСтатья: При работе с FireMonkey (FMX) в C++ Builder XE3 и выше, при конвертации существующих OpenGL-приложений из VCL в FMX могут возникнуть проблемы с миганием или отображением фонового изображения вместо отрендеренной OpenGL-сцены. В этой статье мы рассмотрим, как устранить эту проблему и предотвратить перерисовку региона, занимаемого формой FMX OpenGL. Описание проблемы При конвертации OpenGL-приложения из VCL в FMX, мы используем хэндл формы FMX для создания контекста OpenGL и делаем эту форму дочерней по отношению к другой форме, чтобы имитировать панель внутри формы, которая была в нашем приложении VCL. Однако после resize-события или при общем вызове Invalidate(), форма перерисовывается с фоном, что приводит к миганию или даже к отображению фона вместо нашей OpenGL-рендеренной сцены. Решение проблемы После нескольких часов экспериментов было найдено решение: использовать "TCommonCustomForm". Этот компонент не рисует себя самостоятельно и имеет хэндл, который можно использовать для инициализации OpenGL. Чтобы использовать TCommonCustomForm, выполните следующие шаги:
Используя TCommonCustomForm, вы можете устранить мигание фонового изображения и гарантировать, что ваша OpenGL-рендеренная сцена будет отображаться правильно. Альтернативные подходы Помимо использования TCommonCustomForm, существуют и другие подходы, которые вы можете рассмотреть:
В заключение, использование TCommonCustomForm является надежным и простым способом устранить мигание фонового изображения при использовании OpenGL в FMX. Если у вас все еще есть проблемы, рассмотрите другие подходы, перечисленные выше, и не забудьте проверить, что ваша OpenGL-рендеренная функция вызывается правильно и в нужное время. Статья описывает проблему мигания фонового изображения при использовании OpenGL в FireMonkey (FMX) в C++ Builder XE3 и выше, и предлагает решение с использованием TCommonCustomForm для устранения этой проблемы. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |