2013-03-12 3 views
2

Я пытаюсь нарисовать линию, а затем прослежу за ней по мере ее перемещения. Подумайте о скринсейве «Кривые и цвета» от Windows 98. Это, по-моему, довольно простенькое движение размытия изображения.Линейные маршруты OpenGL/GLSL

Я искал разные вещи в течение нескольких часов без везения. Может быть, есть какой-то термин, который я не знаю или не могу использовать, мне нужно использовать?

Могу ли я сделать это с помощью GLSL и сохранить предыдущие точки, на которых была линия, а затем вытеснить их со временем? Или мне нужно сохранить линии до 10 различных буферов кадров, а затем вытеснить их?

Я не уверен, с чего начать, извините.

+0

Все, что делает экранная заставка, это рисование одной и той же кривой несколько раз, только смещение и слегка повернутое. – Aeluned

ответ

2

Вам нужен только один дополнительный буфер кадра для рисования - необходимые шаги должны сначала отобразить предыдущий фреймбуфер как текстуру, умноженную на коэффициент (скажем 0,9), а затем нарисовать новую строку с максимальной интенсивностью; затем смените буферы.

Простым методом является перерисовка ряда линий с различной интенсивностью - одна из линий будет перерисована с интенсивностью 0 (черный), новая строка - 1 (белый, зеленый, любой) и все остальное с интенсивность между ними.

Смежные вопросы