Вопрос

Я слышал несколько хороших отзывов о Visualization ToolKit (VTK) от разработчиков. Но насколько он мощный? Например, может ли он обрабатывать визуализацию всего нефтяного резервуара (в симуляторе) с миллиардами точек сетки? Большинство промышленных симуляторов резервуара работают на параллельных процессорах. Я знаю, что VTK поддерживает параллельную обработку, но опять же, насколько стабильной она может быть, используя параллельные процессоры при выполнении чего-то вроде моделирования резервуара? Кто-нибудь использовал ВТК в таком масштабном проекте?

Mathematica поддерживает некоторые простые моделирования резервуара, но я думаю, что он использует библиотеки Java Swing. Итак, есть ли у кого-нибудь представление об использовании VTK для мощной визуализации, кроме 3DSplice? Кроме того, кто-нибудь может сказать что-нибудь о времени разработки с использованием VTK?

Это было полезно?

Решение

VTK написан на C ++ и может использоваться на C ++, Python, Tcl / Tk, Java. Лаборатории, такие как Sandia (включая, я полагаю, их Titan усилия), Лос-Аламос и Ливермор, используют VTK для усилий по визуализации в масштабах, достаточно больших, чтобы конкурировать с вашими амбициями (конечно, это делается с помощью огромного количества оборудования в поддержке и чрезвычайно опытных программистов, имеющих большой опыт работы с VTK и всеми другими технологиями, используемыми в проекте - «миллиарды» точек сетки »- это не проект, который нужно решать, пока у вас не будет команды с такими экстремальными навыками, а не с ЛЮБОЙ инструментарием).

Я не утверждаю, что это (проект по визуализации столь амбициозных масштабов, который вы имеете в виду) будет ЛЕГКОМ, независимо от того, как вы справитесь с этим - но я не могу придумать какие-либо альтернативные структуры, которые бы сделали его проще, чем ВТК! -)

Другие советы

VTK - довольно мощный инструментарий, поскольку он предлагает достаточно эффективные реализации широкого спектра алгоритмов визуализации. Чтобы узнать, что может сделать VTK, я рекомендую ознакомиться с ParaView . ParaView создает полезное приложение на базе VTK, поэтому вы можете сразу визуализировать данные, соединяя вместе различные компоненты VTK.

Для более непосредственного решения ваших вопросов параллельная обработка в VTK используется для ускорения создания визуализации. Это должно быть стабильно, но не зависит от ваших расчетов симуляции. Обучение использованию VTK занимает некоторое время, но есть книга, которую вы можете купить, в которой объясняются многие аспекты ее использования. Эксперименты с обертками Python - это хороший способ освоить использование VTK.

Для ваших приложений я не уверен, является ли ВТК наиболее подходящим решением. Я бы порекомендовал провести небольшие эксперименты с использованием привязок ParaView или Python VTK, чтобы проверить, сможете ли вы создать разумную визуализацию для своих симуляций.

Мой личный опыт работы с ВТК положительный, но только с небольшими наборами данных. Это может быть очень медленно, если у вас большие наборы данных, как в вашем случае. С другой стороны, в нем так много режимов визуализации, что просто невозможно переписать их в чистом OpenGL. Я не знаю, откуда взялась медлительность VTK, но конвейерная архитектура, вероятно, не помогает. Кроме того, многое зависит от фильтра, который вы используете. Объемный график, например, безумно медленный по построению (много параллельных прозрачных плоскостей).

Решение, которое мы сочли полезным, заключалось в том, чтобы обрезать набор данных до минимума, прежде чем строить его. Очень часто потеря визуальной точности незначительна. Вы также можете попробовать использовать фильтр LevelOfDetail (LOD), но у меня нет с ним опыта.

Определение того, насколько " мощным " ВТК (или любая библиотека) невозможна. Все зависит от ваших потребностей. Это не значит, что вы можете создать любую сетку в VTK, увеличить нагрузку на оборудование и ожидать, что она будет работать без сбоев. VTK не ориентирован на огромные модели - однако есть библиотека с именем Paraview , которая пытается это поддержать.

Sidenote: мы визуализируем миллиард сотовых моделей в интерактивном режиме на простых ноутбуках (без использования VTK / Paraview). Как? Я думаю, это секрет ...:)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top