Техническое задание: Виджет OpenGL для потоковой визуализации изображений

Цель проекта

Разработать переиспользуемый виджет ScanGlWidget для интеграции в приложения на Qt, который будет эффективно и плавно отображать изображение, поступающее частями (вертикальными полосами) в реальном времени, используя низкоуровневый API OpenGL.

Основные требования

К виджету ScanGlWidget:

  • Реализация на C++ с использованием фреймворка Qt и чистого OpenGL (без Qt Quick, QOpenGLWidget допустим как основа).
  • Поддержка плавного добавления и отображения вертикальных полос (stripes) изображения.
  • Эффективное управление текстурами и видеопамятью для работы с большими или потоковыми изображениями.
  • Четкое и качественное отображение без артефактов на стыках полос.
  • Возможность масштабирования и панорамирования просматриваемого изображения.
  • Чистый и документированный API для интеграции в сторонние проекты.

К демонстрационному приложению:

  • Простое Qt-приложение, использующее созданный виджет.
  • Имитация или чтение из файла процесса постепенной «проявки» изображения вертикальными полосами.
  • Наглядная демонстрация плавности работы и корректности отображения.

Ожидаемый результат

  • Исходный код библиотечного виджета с комментариями.
  • Исходный код демонстрационного приложения.
  • Краткая документация по сборке и использованию.