Преобразование текстуры DDS в qimage
У меня есть текстуры DDS (DXT1, DXT3, DXT5) в буфере памяти. Я хочу преобразовать их в QImages. Текстуры находятся в основной памяти, а не в памяти видеокарты. Я тщательно изучил документацию Qt и считаю, что это невозможно сделать с помощью одной простой функции. Это можно сделать, записав буфер во временный файл, а затем загрузив его оттуда, но это очень нежелательно в моем приложении. Мое приложение имеет контекст OpenGL, который можно использовать, но я не знаю, как действовать дальше.
Что я уже пробовал:
Наиболее многообещающим результатом моих исследований было использование QOpenGLFrameBufferObject. У этого есть ... функция-член toImage (). Однако моих знаний OpenGL недостаточно, чтобы нарисовать текстуру в объекте буфера кадров.