Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Мерцани при создании анимации с OpenGL

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Мерцани при создании анимации с OpenGL
Имя
Сообщение << Старые топики   Новые топики >>
Мерцани при создании анимации с OpenGL - 2006-12-09 21:11:44.936666   
Oburec

Сообщений: 18
Оценки: 0
Присоединился: 2006-12-09 20:19:25.436666
Уважаемые граждане! Может кто-то из вас сталкивался с подобной проблемой:
Я рисую сцену в окошко формы(на delphi), вывожу изображение на экран посредством SwapBuffers.
В событии OnKeyDown я изменяю параметры, которые используются в отрисовке сцены (координаты и повороты обьекта и камеры), обновляю окошко Refresh.
Когда нажимаю кнопку "двигать обьект" периодически начинает мерцать изображение (окно окрашивается в другой (не устанавливаемый мной) цвет).
С чем это может быть связано?
Post #: 1
RE: Мерцани при создании анимации с OpenGL - 2006-12-10 13:21:59.343333   
__Andy__

Сообщений: 86
Оценки: 0
Присоединился: 2006-11-29 13:01:54.263333
в OnCreate попробуй вставить это:
yourForm.DoubleBuffered := true;
Post #: 2
RE: Мерцани при создании анимации с OpenGL - 2006-12-10 16:07:29.580000   
Oburec

Сообщений: 18
Оценки: 0
Присоединился: 2006-12-09 20:19:25.436666
quote:

ORIGINAL: __Andy__

в OnCreate попробуй вставить это:
yourForm.DoubleBuffered := true;

Вообще изображение зарубило - контексты правда не пропали. Вместо моего изображения неоразрисованная форма выводится.
Post #: 3
RE: Мерцани при создании анимации с OpenGL - 2006-12-10 16:18:00.060000   
__Andy__

Сообщений: 86
Оценки: 0
Присоединился: 2006-11-29 13:01:54.263333
ok, тогда перед рисованием примитивов попробуй очищать текущий буфер вывода
glClear(GL_COLOR_BUFFER_BIT);
Post #: 4
RE: Мерцани при создании анимации с OpenGL - 2006-12-10 16:33:53.860000   
Oburec

Сообщений: 18
Оценки: 0
Присоединился: 2006-12-09 20:19:25.436666

quote:

ORIGINAL: __Andy__

ok, тогда перед рисованием примитивов попробуй очищать текущий буфер вывода
glClear(GL_COLOR_BUFFER_BIT);

Это я с самого начала делаю.
DoubleBuffered кстати включается при установке формата пиксела
pfd.dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER;
, а не у формы.
Вобщем пока не фачет, на какую-то долю секунды вместо картинки неокрашенная форма появляется.
Post #: 5
RE: Мерцани при создании анимации с OpenGL - 2006-12-10 16:45:52.156666   
Oburec

Сообщений: 18
Оценки: 0
Присоединился: 2006-12-09 20:19:25.436666
Сделал, надо было в KeyDown заменить обновление окошка.Вместо Refresh использовать InvalidateRect
Post #: 6
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Мерцани при создании анимации с OpenGL







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.