<div dir="ltr">For VTK version 6.2 I think you are correct. Depth peeling (more specifically alpha bitplanes probably) might have to be turned on before the window is created. For more recent versions of VTK I don't believe that is still the case.</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 9, 2018 at 11:57 AM, Ignacio Fernández Galván via vtkusers <span dir="ltr"><<a href="mailto:vtkusers@vtk.org" target="_blank">vtkusers@vtk.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
I'm trying to enable depth peeling with VTK. Currently my goal is using it with Mayavi and python. My problem, and a sample code, is in <a href="https://stackoverflow.com/questions/47738246/depth-peeling-in-mayavi" rel="noreferrer" target="_blank">https://stackoverflow.com/ques<wbr>tions/47738246/depth-peeling-<wbr>in-mayavi</a>.<br>
<br>
I think the reason is that depth peeling must be enabled before initializing the window, but Mayavi initializes the window as soon as it is declared, so changing the settings after does nothing. Consider the following simple, pure VTK, code:<br>
<br>
#=============================<wbr>==============================<wbr>==<br>
import vtk<br>
<br>
init_before = True<br>
<br>
ren = vtk.vtkRenderer()<br>
renWin = vtk.vtkRenderWindow()<br>
renWin.AddRenderer(ren)<br>
ren.SetBackground([.2, .2, .2])<br>
<br>
if init_before:<br>
  # create a renderwindowinteractor<br>
  iren = vtk.vtkRenderWindowInteractor(<wbr>)<br>
  iren.SetRenderWindow(renWin)<br>
  iren.Initialize()<br>
<br>
# enable depth peeling<br>
ren.SetUseDepthPeeling(1)<br>
ren.SetOcclusionRatio(0.1)<br>
ren.SetMaximumNumberOfPeels(10<wbr>0)<br>
renWin.SetMultiSamples(0)<br>
renWin.SetAlphaBitPlanes(1)<br>
<br>
if not init_before:<br>
  # create a renderwindowinteractor<br>
  iren = vtk.vtkRenderWindowInteractor(<wbr>)<br>
  iren.SetRenderWindow(renWin)<br>
  iren.Initialize()<br>
<br>
# create source<br>
source = vtk.vtkCylinderSource()<br>
source.SetCenter(0, 0, 0)<br>
source.SetRadius(5.0)<br>
source.SetHeight(7.0)<br>
source.SetResolution(100)<br>
source.Update()<br>
<br>
# mapper<br>
mapper = vtk.vtkPolyDataMapper()<br>
mapper.SetInputData(source.Get<wbr>Output())<br>
<br>
# actor<br>
actor = vtk.vtkActor()<br>
actor.SetMapper(mapper)<br>
actor.GetProperty().SetOpacity<wbr>(0.5)<br>
<br>
# assign actor to the renderer<br>
ren.AddActor(actor)<br>
ren.ResetCamera()<br>
<br>
# enable user interface interactor<br>
renWin.Render()<br>
print ren.GetLastRenderingUsedDepthP<wbr>eeling()<br>
iren.Start()<br>
#=============================<wbr>==============================<wbr>==<br>
<br>
With init_before=False I get that depth peeling was used, but not with init_before=True.<br>
<br>
Is there anything I can do to force and update of the render window to pick up the new settings? I tried iren.Reinitialize() to no avail. The only way I could find was removing renWin and iren and creating new ones, but that doesn't help with Mayavi.<br>
<br>
Thanks,<br>
Ignacio<br>
______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensou<wbr>rce/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK_FA<wbr>Q</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=<wbr>vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="https://vtk.org/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank">https://vtk.org/mailman/listin<wbr>fo/vtkusers</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Ken Martin PhD<div>Distinguished Engineer<br><span style="font-size:12.8px">Kitware Inc.</span><br></div><div>28 Corporate Drive<br>Clifton Park NY 12065<br><div><br></div><div><span style="font-size:10pt;font-family:Tahoma,sans-serif">This communication,
including all attachments, contains confidential and legally privileged
information, and it is intended only for the use of the addressee.  Access to this email by anyone else is
unauthorized. If you are not the intended recipient, any disclosure, copying,
distribution or any action taken in reliance on it is prohibited and may be
unlawful. If you received this communication in error please notify us
immediately and destroy the original message. 
Thank you.</span></div></div></div></div></div>
</div>