Я работаю над некоторым программным обеспечением для создания HD-изображений, и хотя в настоящее время для этой версии не запланированы очень большие текстуры, я хотел бы сделать некоторые будущие проверки.Обработка текстур 4gb (BigTiff) OpenGL
Если я имел дело с очень большими текстурами (например, 1095630 x 939495), могу ли я использовать стандартную комбинацию сжатых текстур и сопоставления mip или эти текстуры будут иметь большое значение для хранения в памяти текстур?
Мое предположение: они были бы слишком большими, и мне нужно было бы сделать ручную mip-карту psudeo на CPU. I. Прихватите очень большие данные, создайте разумную сжатую версию для полного уменьшения, а затем, когда пользователь увеличит масштаб, отправьте подсекции большой текстуры на GPU?
Идея сделать указанное сжатие на процессоре будет ужасно медленной, поэтому мой план состоит в том, чтобы набивать данные и отправлять им куски для GPU для сжатия. В каком случае, как я могу узнать, желательно динамически, максимальный размер текстуры, который может обрабатывать графический процессор?
Я новичок в формате TIFF, но с его внешностью, уже сохраненной как плитка, это правильно? Я надеюсь немного поиграть с libtiff, но я не нашел много примеров его использования (мои навыки Google меня не оправдали сегодня, извинения). https://stackoverflow.com/questions/ask
Существующие примеры Я надеюсь получить некоторые указатели из этих двух:
- BioView3D (с открытым исходным кодом FTW)
- BigTiffViewer
В заключение:
- Как я узнать максимальный размер текстуры графический процессор может обрабатывать (предпочтительно 3D размер текстуры ...)
- Что лучший способ разбить большой формат текстур и сжать его до того, что графический процессор может обрабатывать
- Каков наилучший способ облегчить масштабирование?
- Указатели на использование libTiff?
(((1095630 x 939495 x 4 (rgba))/1024 (килобайт))/1024 (мегабайт))/1024 (гигабайт)) ~ = 383,5 ГБ – CoffeeandCode
Так что, думаю, это, вероятно, слишком велико для хранения в текстурной памяти ... наверное. – CoffeeandCode