Библиотеки крупномасштабного рендеринга и визуализации для данных размером в терабайты
Я хочу визуализировать трехмерные тома данных размером от нескольких гигабайт до нескольких терабайт. Одним из решений было бы свернуть мое собственное, но это может занять некоторое время. Чтобы избежать этого, я в настоящее время изучаю, какие текущие доступные решения. Чем больше я изучаю, тем больше программного обеспечения я нахожу. Некоторые примеры включают ParaView/VTK
, OSPRay
, Embree
, Splotch
, NVIDIA GVDB/OptiX
, так далее.
Некоторые из этого программного обеспечения предоставляют комплексные решения для визуализации и обработки данных (например, ParaView/VTK
). Другие ориентированы в основном на высокопроизводительный рендеринг (например, Embree
). Другие предоставляют низкоуровневые API для рендеринга (например, GVDB/OptiX
). Некоторые оптимизированы для конкретного оборудования (например, Embree
для оборудования Intel, GVDB/Optix
для графических процессоров NVIDIA). Другие включают инфраструктуру для распределенного рендеринга (например, ParaView/VTK
), что позволяет им утверждать, что они могут отображать наборы данных размером в несколько терабайт, в то время как другие оставляют эту функциональность пользователю. Можно предположить, что рендеринг тома набора данных размером в несколько терабайт может также выполняться на одной машине с использованием некоторых хитроумных алгоритмов LOD и вне ядра, но давайте оставим это для другого обсуждения. И, наконец, существует также огромное количество программного обеспечения, разработанного университетскими исследовательскими проектами и научными кругами, которое создано для решения конкретных проблем и более не поддерживается.
Интересно, имеет ли кто-нибудь здесь опыт работы с таким программным обеспечением и может ли он дать мне несколько советов или советов, над которыми стоит поэкспериментировать с программным обеспечением / библиотеками? Мои идеальные требования следующие:
- Выполняйте объемную визуализацию / лучевую передачу для наборов данных до нескольких терабайт при интерактивной частоте кадров (скажем,> 10 FPS).
- Воспользуйтесь преимуществами различных параллельных архитектур (CPU, GPU, несколько узлов)
- Реализация / поддержка алгоритмов уровня детализации.
- Уметь добавлять виджеты в визуализированную сцену. Например, оси стрелки, плоскости отсечения и т. Д.
- Будьте в форме библиотеки, которая предоставляет публичный API для использования. В идеале в Python, но я предполагаю, что создание оболочки Python вокруг API C/C++ само по себе вполне осуществимо.
- Они активно поддерживаются и имеют соответствующую документацию.
Я не обязательно ищу библиотеку программного обеспечения, которая включает в себя все вышеперечисленное, но, чем больше, тем лучше!:)
Заранее спасибо.
1 ответ
Эстрона,
Инго здесь, от команды OSPRay;-)
"Терабайты" звучит интересно.... Буду рад взглянуть на данные, которые вы хотите рендерить, с OSPRay ... отправьте мне письмо!