Я подумываю добавить размытие движения в свою 2D-программу, но сомневаюсь в результатах моего текущего алгоритма.
Мой подход выглядит так на данный момент:
- Отрисовка в резервный буфер.
- Когда пришло время обновить передний буфер, смешайте задний буфер с передним буфером.
- Повторение
То, что может вызвать эффект «размытия движения», очевидно, является смешиванием, поскольку движущиеся объекты оставляют затухающий след.
Это явно не очень требовательно к железу, двойная буферизация все равно будет сделана и единственный дополнительный шаг — это альфа-смешивание, которое является простым расчетом. Тем не менее, следы будут очень четкими и совсем не размытыми, что может выглядеть немного странно. Я мог бы сделать размытие прямоугольника на заднем буфере перед этапом смешивания, но мне кажется, что это может быть очень обременительно для младших систем, таких как Nintendo DS.
Существуют ли какие-либо решения, которые позволяют мне делать это более эффективно или дают более привлекательный результат?