A Intel lançamento significativo de um motor de renderização 3D escalável , projetado para visualização realista de alta qualidade por meio de ray tracing, adequado para aplicações interativas. O motor está em desenvolvimento como parte de um projeto maior , voltado para o desenvolvimento de ferramentas de visualização computacional de cálculos científicos (Software Defined Visualization), incluindo uma biblioteca de ray tracing , um sistema de renderização fotorrealista , uma biblioteca para redução de ruído em imagens e um sistema de rasterização computacional . O código é escrito em C++ e estão sob a licença Apache 2.0.
OSPRay é principalmente direcionado para uso em aplicações interativas para renderização em tempo real. Para simular o comportamento da luz, é utilizado o método . Suporta visualização volumétrica e em superfície, iluminação global considerando as propriedades físicas dos materiais, efeitos de sombreamento avançados (sombreamento, transparência e sombreamento "«).
OSPRay utiliza apenas recursos de CPU, sem depender de GPU, o que permite que a biblioteca seja usada em uma ampla gama de dispositivos, de estações de trabalho a nós em clusters computacionais. Para garantir o desempenho adequado, utiliza-se ativamente multithreading e vetorização baseada em instruções SIMD, como Intel SSE4, AVX, AVX2 e AVX-512 (para operação do OSPRay, pelo menos o suporte a SSE4.1 é necessário).
A renderização pode ser distribuída em vários nós do cluster (MPI é suportado), permitindo, por exemplo, que OSPRay seja usado para organizar a renderização de imagens de muito alta resolução em , uma única imagem formada por um conjunto de painéis LCD separados. Por exemplo, o funcionamento do OSPRay foi demonstrado em uma tela composta , composta por 80 monitores de 30 polegadas (resolução total de 40960×8000 ou 328 megapixels) e atendida por um cluster de 40 servidores com CPUs de 6 núcleos baseadas na microarquitetura Intel Sandy Bridge.
A mudança significativa no número da versão se deve a uma grande reformulação da API, incluindo alterações que quebram a compatibilidade (para facilitar a transição para a nova API, foi proposta uma biblioteca intermediária para suavizar a migração) e a introdução de novos tipos geométricos. Foi adicionado suporte ao Open VKL (Open Volume Kernel Library) para renderização volumétrica. A funcionalidade de conexão foi implementada para suprimir ruídos na imagem. As bibliotecas ospcommon e o módulo de suporte ao MPI foram transferidos para repositórios separados.
Fonte: opennet.ru
