Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.09.2013, 22:35   #1
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
Вопрос SDL анимация Не обновляется экран

Здравствуйте.

В SDL + OpenGL пытаюсь вывести анимацию.

PHP код:
    while(Running)
    {
        while(
SDL_WaitEvent(&Event))
        {
            
OnEvent(&Event);
            break;
        }
        
OnLoop();
        
OnRender();
    } 
Вот анимация которая вызывается в функции OnLoop() (в коде выше).

PHP код:
void Animation::Animate() {
    if(
OldTime FrameRate SDL_GetTicks()) {
        return;
    }
    
OldTime SDL_GetTicks();
    
CurrentFrame += FrameInc;
        if(
CurrentFrame >= MaxFrames) {
            
CurrentFrame 0;
        }

Почему-то эта анимация не срабатывает пока не возникает какое-либо событие OnEvent(). То есть запускаю программу, на экране появляется мой объект, но не анимируется. Нажимаю клавишу происходит событие, срабатывает 1 кадр анимации. В как мне кажется экран обновляется (то есть срабатывает функция OnRender()) только после срабатывания события. Как сделать так, чтобы экран обновлялся сразу после вызова анимации (функция Animate())?

Для обновления экрана функции OnLoop() также как и в функции OnEvent() использую SDL_GL_SwapBuffers().

Спасибо за внимание.
gunsoy вне форума Ответить с цитированием
Старый 03.09.2013, 13:53   #2
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
По умолчанию

Проблема была в SDL_WaitEvent, заменил на SDL_PollEvent и анимация запустилась.
gunsoy вне форума Ответить с цитированием
Старый 03.09.2013, 14:46   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Теперь гляньте на нагрузку процессора...
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не обновляется DataGridView megabax C# (си шарп) 1 25.05.2013 18:19
Не обновляется Grid! MeDveD-3A9l C/C++ Базы данных 1 21.01.2013 20:45
Обновляется страница. Predator199 JavaScript, Ajax 9 08.12.2012 03:48
не обновляется DataGridView Kukurudza C# (си шарп) 0 11.03.2012 12:10
Dr. Web 5.0 не обновляется... Smiley Безопасность, Шифрование 9 24.05.2009 15:11