Техническое задание: Виджет OpenGL для потоковой визуализации изображений
Цель проекта
Разработать переиспользуемый виджет ScanGlWidget для интеграции в приложения на Qt, который будет эффективно и плавно отображать изображение, поступающее частями (вертикальными полосами) в реальном времени, используя низкоуровневый API OpenGL.
Основные требования
К виджету ScanGlWidget:
- Реализация на C++ с использованием фреймворка Qt и чистого OpenGL (без Qt Quick, QOpenGLWidget допустим как основа).
- Поддержка плавного добавления и отображения вертикальных полос (stripes) изображения.
- Эффективное управление текстурами и видеопамятью для работы с большими или потоковыми изображениями.
- Четкое и качественное отображение без артефактов на стыках полос.
- Возможность масштабирования и панорамирования просматриваемого изображения.
- Чистый и документированный API для интеграции в сторонние проекты.
К демонстрационному приложению:
- Простое Qt-приложение, использующее созданный виджет.
- Имитация или чтение из файла процесса постепенной «проявки» изображения вертикальными полосами.
- Наглядная демонстрация плавности работы и корректности отображения.
Ожидаемый результат
- Исходный код библиотечного виджета с комментариями.
- Исходный код демонстрационного приложения.
- Краткая документация по сборке и использованию.