How to use tone mapping correctly when displaying transparent structures using depth peeling ?

Hi there,

I am trying to render 3D models with transparent structures using Depth Peeling, PBR, SSAO and Tone Mapping.

To do so, I use the vtkRenderStepsPass with the following configuration:

// Create renderer
const auto renderer = vtkRenderer::New();
renderer->SetUseImageBasedLighting(true);

// Create render steps pass
const auto renderStepsPass = vtkRenderStepsPass::New();
renderer->SetPass(renderStepsPass);

// Create Depth Peeling pass
const auto depthPeelingPass = vtkDepthPeelingPass::New();
depthPeelingPass->SetMaximumNumberOfPeels(8);
depthPeelingPass->SetOcclusionRatio(0);
depthPeelingPass->SetTranslucentPass(renderStepsPass->GetTranslucentPass());
renderStepsPass->SetTranslucentPass(depthPeelingPass);

// Create SSAO pass
ssaoPass = vtkSSAOPass::New();
ssaoPass->SetDelegatePass(renderStepsPass->GetOpaquePass());
renderStepsPass->SetOpaquePass(ssaoPass);

// Create Tone Mapping pass
const auto toneMappingPass = vtkToneMappingPass::New();
toneMappingPass->SetToneMappingType(vtkToneMappingPass::GenericFilmic);
toneMappingPass->SetGenericFilmicUncharted2Presets();
toneMappingPass->SetExposure(1.0);
toneMappingPass->SetDelegatePass(renderStepsPass->GetCameraPass());
renderStepsPass->SetPostProcessPass(toneMappingPass);

This works great when I display only opaque structures. When I add transparency to one of theme, the tone mapping pass washes out the colors as displayed on the following image:

(Note: On the right, the lung structure is transparent)

Is there a way to avoid this washed-out effect somehow ?

Thanks a lot for your help,

Clément