![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
soaup |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 3.6.2014 Пользователь №: 4152 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
У меня нарисовалась линия через вершины и glDrawArrays. Можно мне ее сохранить, потом сместить вниз по Y, и нарисовать еще одну линию в месте где она была в прошлом кадре. И потом постоянное так - новые линии рисуются, старые уходят вниз.
|
|
|
lanz |
![]()
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Храните все линии в массиве, каждый кадр смещать точки по Y и перерисовывать. OpenGL и так перерисовывает все каждый кадр, поэтому проблем не должно быть.
|
|
|
soaup |
![]()
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 3.6.2014 Пользователь №: 4152 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Храните все линии в массиве, каждый кадр смещать точки по Y и перерисовывать. OpenGL и так перерисовывает все каждый кадр, поэтому проблем не должно быть. Так как я не все знаю в OpenGL и по этой теме не нашел туториалов, не понимаю как это можно сделать. Не знаю линии или нет, но я храню данные, по которым я рисую линии, в контейнере. Последовательность данных приходят в виде QByteArray. Если число элементов в контейнере превысило некое число, то последний элемент удаляется. И потом для каждого массива из контейнера я расcчитываю и вершины и цвета:
Т.е. получается некий рисунок – нарисовалась линия, ушла на 1 пиксель вниз, на ее освободившемся месте нарисовалсь новая линия, потом эти две сместились вниз и по новой. Каждый раз, как что-то приходит – я расчитываю все координаты вершин и цвета по новой. Дело в том что массивы которые уже отрисовались мне по-хорошему не нужно было-бы перерасчитывать, но нужно сместить уже отрисованные линии по Y вниз. А потом рассчитать новую линию и поместить ее в верх виджета. |
|
|
lanz |
![]()
Сообщение
#4
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Можно тогда рисовать в framebuffer object http://qt-project.org/doc/qt-4.8/qglframebufferobject.html
Потом из него получать текстуру и рисовать ее со смещением вниз на 1 пиксель. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 23.7.2025, 18:56 |