path tracer rendering bug with low opacity overlapping objects?

Hi,
I found some strange image artifacts when using the pathtracing render mode together with many overlapping objects at low opacity. Could this be some bug on the paraview side or is this a general ospray issue?

I initially discovered this when trying to gracefully blank out low values in a dense streamline visualization but have simplified the reproducer as follows:

Start with the points source with “radius” 1 and some high number of points. Add a calculator filter that outputs Component_X in order to have some spatially varying value across the points and set “point size” to some high enough value to get some nice large spheres in the raytracer. (The problem also appears when using the glyph filter instead of relying on the implicit sphere rendering of the raytracers via point size).

With the raycaster the scene then looks like this:

Activating “opacity mapping for surfaces” and mapping opacity values below about half the color range to zero looks as expected in the raycaster:

Switching to the pathtracer results in black artefacts in low opacity regions where many spheres overlap:

Trying this out with fewer larger spheres works out fine:

But increasing their number we are back to black:

The issue seems to be mainly with very low opacity values. If i just use an opacity ramp across the whole color range no black spots appear as the opacity is not low enough:

You can actually get the artifacts just by setting the opacity value of the point source object to low values directly so this does not seem to be related to the opacity mapping for surfaces via the color map but more of a general opacity issue.
Is this something i should file a paraview issue for? Maybe there is some hidden ospray setting i can modify to get rid of this effect?

The images were generated using a linux build of paraview 5.11 but I see the same on a variety of versions of the official windows binaries on a different machine. Earliest i tested was 5.6

I confirm this behavior.

Steps to reproduce:

  • PointSource, 1000 points, 1 radius, Apply
  • Elevation, Apply
  • Color by elevation, enable opacity for surface
  • PointSize 20
  • Enable Raytracing, Enable pathtracer

@pgges24 please open an issue: https://gitlab.kitware.com/paraview/paraview/-/issues

FYI @Charles_Gueunet @Lucas_Givord @Dave_DeMarle

Not sure why but it doesn’t appear that this is exposed in the ParaView GUI.
Rendering/RayTracing/vtkOSPRayRendererNode.cxx · master · VTK / VTK · GitLab (kitware.com)

Thanks for looking into this. I’ll submit an issue later.

So you are suggesting this could be solved by increasing the maxPathLength? I tried to expose this setting in the gui but increasing the value to something like 5000 did not affect the issue: https://gitlab.kitware.com/pgges/paraview/-/commit/938b4d83fec50c15b683d70498148a2293805c93
Is what i did sufficient to hook up the paraview ui side to the vtk ospray setting?

posted by @pgges24 https://gitlab.kitware.com/paraview/paraview/-/issues/22566