Pergunta

Já ouvi alguns bons comentários do Visualization Toolkit (VTK) de desenvolvedores. Mas exatamente quão poderoso é? Por exemplo, ele pode lidar com visualização de todo um reservatório de óleo (em um simulador) com milhares de milhões de pontos grelhas? A maioria dos simuladores de reservatórios industriais rodar em processadores paralelos. Eu sei VTK suporta processamento paralelo, mas mais uma vez quão estável ele pode estar utilizando processadores paralelos ao executar algo como simulações de reservatório? Alguém tem usado VTK em tal projeto de grande escala?

Mathematica suporta algumas simulações de reservatório simples, mas acho que ele usa as bibliotecas Java Swing. Então, alguém tem alguma idéia de VTK sendo usado para uma poderosa visualização diferente 3DSplice? Além disso, ninguém pode dizer nada sobre o tempo de desenvolvimento usando VTK?

Foi útil?

Solução

VTK é codificado em C ++ e utilizável em C ++, Python, Tcl / Tk, Java. Labs, como Sandia (incluindo, creio eu, a sua Titan esforço), Los Alamos e Livermore, uso VTK para os esforços de visualização em um grande o suficiente escala para rivalizar com as suas ambições (claro, isso é feito com enormes quantidades de hardware de apoio, e programadores extremamente qualificados muito experiente com VTK e todas as outras tecnologias que estão sendo usadas no projeto - "bilhões de pontos de grade" não é um projeto para resolver até que você tenha uma equipe com tais habilidades extremas, não com qualquer kit de ferramentas).

Eu não estou dizendo isso (um projeto de visualização da escala ferozmente ambicioso que tem em mente) vai ser fácil, não importa como você lidar com ele - mas eu não consigo pensar em quaisquer quadros alternativos que tornaria mais fácil do que VTK faria! -)

Outras dicas

VTK é uma ferramenta muito poderosa na medida em que oferece implementações razoavelmente eficiente de uma grande variedade de algoritmos de visualização. Para ver alguns dos que VTK pode fazer, eu recomendo verificar Paraview . Paraview constrói aplicação utilizável em torno de VTK para que possa visualizar imediatamente dados acoplando vários componentes VTK juntos.

Para abordar mais diretamente suas perguntas, o processamento paralelo em VTK é usada para acelerar a criação da visualização. Este deve ser estável, mas independente do seu cálculo de simulação. Aprender a usar VTK leva algum tempo, mas não é um livro que você pode comprar que explica muitos aspectos de como usá-lo. Experiências com os invólucros Python é uma boa maneira de chegar até a velocidade sobre como utilizar VTK.

Para suas aplicações, eu não tenho certeza se VTK é a solução mais adequada. Eu recomendaria algumas experiências de pequena escala usando as ligações Python VTK Paraview ou para ver se você pode criar uma visualização razoável de suas simulações.

A minha experiência pessoal com VTK é positivo, mas apenas com pequenos conjuntos de dados. Ele pode definitivamente ser muito lento se você tiver grandes conjuntos de dados, como no seu caso. No lado positivo, ele ostenta tantos modos de visualização que é impensável para reescrevê-los em OpenGL puro. Eu não sei onde a lentidão do VTK vem, mas a arquitetura de pipeline provavelmente não ajuda. Além disso, muito do que depende o filtro que você usa. O enredo volumétrica, por exemplo, é incrivelmente lento por construção (muitos planos transparentes paralelos).

A solução que encontramos útil foi para aparar o conjunto de dados a um mínimo antes de traçar-lo. Muitas vezes, a perda de acuidade visual é desprezível. Você também pode tentar com o filtro LevelOfDetail (LOD), mas eu não tenho nenhuma experiência com ele.

Definindo como "poderoso" VTK (ou qualquer biblioteca) é impossível. Tudo depende das suas necessidades. Não é como você pode jogar qualquer grade em VTK, carne acima com cargas de cargas de hardware e esperar que ele seja executado sem problemas. VTK não é voltada para modelos enormes - no entanto há uma biblioteca denominada Paraview que as tentativas para apoiar esta

Sidenote: visualizamos bilhão de modelos de células de forma interativa em laptops simples (sem uso de VTK / Paraview). Quão? Eu acho que é um segredo ...:)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top