Canvas в QOPenGL

Делаю приложение, которое отображает спектрограмму (с синтетическими данными), используя qt, c++ и openGL.

Возник следующий вопрос, возможно ли в openGL использовать что то типо canvas, чтобы при вызове paintGL() не перерисовывать заново всю спектрограмму, а лишь добавлять новые значения


Ответы (1 шт):

Автор решения: Kromster

Да, можно.

  1. Более топорный вариант - заносите данные в текстуру (glTexImage2D) и используйте её для отрисовки.

  2. Более технологичный - рисуйте данные в текстуру привязанную к кадровому буферу и потом выводите текстуру как обычно (https://www.opengl-tutorial.org/intermediate-tutorials/tutorial-14-render-to-texture/)

И тот и другой вариант имеет смысл если отрисовка тяжелая и данных супер-много. Для вашего случая (судя по прошлым вопросам) это скорее всего излишне.

→ Ссылка