A empresa Intel lançou o mecanismo de renderização 3D escalável OSPRay 3.0, destinado à visualização realista de alta qualidade por meio de rastreamento de raios. O mecanismo está sendo desenvolvido como parte de um projeto maior chamado Intel Rendering Framework, que tem como objetivo o desenvolvimento de ferramentas de visualização científica definidas por software (SDVis), incluindo a biblioteca de rastreamento de raios Embree, o sistema de renderização fotorrealista GLuRay, a biblioteca para remoção de ruído em imagens oidn (Open Image Denoise) e o sistema de rasterização por software OpenSWR. O código é escrito em C++ e publicado sob a licença Apache 2.0.
O OSPRay tem como foco principal o uso em aplicações interativas para renderização de cenas em tempo real. Para simular o comportamento da luz, utiliza-se o método de rastreamento de caminhos. Suporta visualização volumétrica e em superfície, iluminação global fotorrealista levando em conta as propriedades físicas dos materiais e efeitos avançados de sombreamento (sombras, transparência e sombreamento ambiente).
O OSPRay pode operar sem estar vinculado a uma GPU, permitindo o uso da biblioteca em uma ampla gama de dispositivos, desde estações de trabalho até nós em clusters de computação. Para garantir um desempenho adequado, faz uso intensivo de multithreading e vetorização com base em instruções SIMD, como Intel SSE4, AVX, AVX2 e AVX-512 (para usar OSPRay, é necessário pelo menos suporte para SSE4.1).
A renderização pode ser distribuída em vários nós de um cluster (MPI suportado), o que, por exemplo, permite usar o OSPRay para organizar a renderização de imagens com resolução extremamente alta em paredes de vídeo, onde uma única imagem é formada por um conjunto de painéis LCD individuais. Por exemplo, a operação do OSPRay foi demonstrada em um display composto Stallion, montado a partir de 80 monitores de 30 polegadas (resolução total de 40960×8000 ou 328 megapixels) e atendido por um cluster de 40 servidores com CPUs de 6 núcleos baseadas na microarquitetura Intel Sandy Bridge.
As alterações adicionadas incluem:
- Foi implementada uma capacidade experimental para utilizar GPU Intel Xe (Intel Arc das séries Flex e Max) para aceleração de hardware da rastreação de raios (nas versões anteriores do OSPRay, a rastreação de raios era realizada apenas na CPU). O suporte a GPU é fornecido através da camada SYCL, que permite criar aplicações heterogêneas em C++ (DPC++ — Data Parallel C++). Nem todas as funcionalidades de renderização estão disponíveis no novo dispositivo "gpu", por exemplo, ainda não são suportados recortes, desfoque e construção de superfícies suaves (Subdivision).
- Foi adicionada indexação implícita da geometria da malha poligonal.
- Foi adicionada a capacidade de transferência de propriedade de buffers temporários.
- Foi otimizado o módulo MPI, implementado graças a uma nova ferramenta integrada para monitoramento de desempenho.
- Foi otimizada a preenchimento de gradiente no renderizador SciVis.
- Foram feitas alterações na API que quebram a compatibilidade. O suporte a parâmetros e chamadas obsoletas foi descontinuado.
- Aumentadas as exigências de versões mínimas das dependências: Embree 4.3.0, Open VKL 2.0.0, Open Image Denoise 2.1.0, ISPC 1.21.1 e rkcommon v1.12.0.


Fonte: opennet.ru
