Picture in picture bug in OSPRay Animation Export

Hey all, I’ve been doing a bunch of rendering using the OSPRay Pathtracing engine. One rather annoying bug that I have found is that when exporting an animation, occasionally you will get a smaller version of the image you are exporting in the bottom left of the main image. I have an example of it below.

image

It seems to happen to random timesteps in the animation but most often in the 2nd and 3rd image generated. In an animation of 100 images, probably about 7-10 of them will be affected by this. The only remedy I have found so far is to go back and export a screenshot of the images afterwards, but this is very time consuming for a large number of images with a high samples per pixel.

I was wondering if anyone else has ran into this bug and had any success addressing it?

Thanks!

Marston

I’ve seen/fixed similar problems in the past where the export was being done from the GUI and the exported image resolution was larger than the view, causing VTK/ParaView to go into stitching mode to make up the large images, which tripped up the accumulation mode we use for progressive refinement.

My guess is that this is happening again.

If you are building ParaView from source you can hardcode progressive refinement off as well here:
https://gitlab.kitware.com/vtk/vtk/blob/master/Rendering/RayTracing/vtkOSPRayRendererNode.cxx#L1170.

Otherwise, please try a smaller image and let me know if this hides the problem.

Hey Dave, thanks for the response. After some investigation it seems to be what you are describing. If I lock the image size to what is given in the view, it seems to fix the issue. I’ll look into the progressive refinement for the our next source build.

If we were running this in a headless mode instead of the GUI export, would this still be an issue?

Yes I expect pvbatch with an offscreen GL (EGL or OSMesa) would avoid the issue.