Background vs Path Traced Environment

In ParaView 5.9, when ray tracing is enabled, we are present with group called Path Traced Environment. From what I see, it’s largely same as the Background and does indeed override whatever is set in the Background. In which case, any objections to removing this duplicate Path Traced Environment and consolidating with the Background?

image

image

@Dave_DeMarle

1 Like

Make sense

It is not the same thing and should not be removed, but there may be more intuitive ways to present it to users than what we have.

Background acts as a backplate for the ray tracer, it does not move when the camera moves. Path traced environment is more like a sky box, it has an orientation. Furthermore background does not show up in reflections and such on objects in the scene, whereas PTE does.

The “Background mode” control, it lets you switch between three behaviors - use only backplate, use only PTE, or both in which you see backplate on background pixels but still see PTE reflections on objects.

Here’s why the implementation is incorrect:

  1. vtkPVRenderView::SetEnvironmentalBGTexture and vtkPVRenderView::UpdateSkybox both update the same this->GetRenderer()->SetEnvironmentTexture(...).
  2. vtkPVRenderView::SetUseEnvironmentLighting and vtkPVRenderView::SetTexturedEnvironmentalBG both update the same this->GetRenderer()->SetUseImageBasedLighting(...).

Two different properties setting the same thing under the covers is not robust and points to incorrect implementation. Someone needs to clean it up.

FYI @LfxPaul

We could disambiguate by moving skybox over to environment background.
Ie.

  • rename path traced environment to environment
  • make environment and background mode widgets not require ray tracing turned on
  • move (with appropriate deprecation forwarding) sky box controls that are under background over to environment
  • hide “both” mode of “background mode” control for rasterization, or add the feature there.
  • update ospray version and get support for skybox (cube) formatted textures and environment support in the ray caster

Hey @utkarsh.ayachit, as @Dave_DeMarle said they may seem similar, but serve very different purposes when used together. The env maps needs to be very high res (at least 8k) to look as a background as well, which are very difficult and expensive to find. This feature allows us to use a low res or more generic map to get good lighting into the scene, and then put whatever static 1080p backplate we want into the scene as the background.

This was a key feature that my company paid to have implemented as part of our recent contract with Kitware, and we now use it all of the time. PLEASE do not remove it.

I would not be totally apposed to rearranging the functionality to make it clearer, but as Dave will remember there were quite a bit of issues getting this to work correctly so I ask that you verify the updated functionality with either Dave, @aron.helser, or I.

Please let me know if you have questions, thanks.