Я хотел бы создать фальшивый эффект "взрыва" в SDL.Для этого я бы хотел, чтобы экран шел от того, чем он является в настоящее время, и стал белым.
Изначально я думал об использовании SDL_FillRect, например, так (где ExplosionTick - текущее альфа-значение):
SDL_FillRect(screen , NULL , SDL_MapRGBA(screen->format , 255, 255 , 255, explosionTick ));
Но вместо обратного угасающего прямоугольника он отображается полностью белым без альфа.Другой метод, который я попробовал, включал использование полноэкранного растрового изображения, заполненного прозрачным белым (со значением альфа-канала 1), и бликование его один раз для каждого взрыва. Отметьте, например, так:
for(int a=0; a<explosionTick; a++){
SDL_BlitSurface(boom, NULL, screen, NULL);
}
Но это закончилось тем, чтомедленно бегать в режиме реального времени.Есть ли простой способ добиться этого эффекта без потери производительности?Спасибо за ваше время.