[vtkusers] Transparency issue beetween actors

Jothy jothybasu at gmail.com
Thu Aug 19 05:00:31 EDT 2010


Try setting .SetResolveCoincidentTopologyToPolygonOffset in the
vtkPolyDataMapper.


Jothy

On Thu, Aug 19, 2010 at 9:18 AM, Bertrand de Boisdeffre <
bertrand.boisdeffre at gmail.com> wrote:

> Hi,
> I have an issue about actors transparency. I try to display in a 3D scene,
> some volumes ( vtkPolyData are the source) intersected by a plane which has
> an image texture.
> I manage to display correctly all my actors, but when i set an actor
> opacity to a value different to 1, if this actor is located beetween the
> camera and the "image plane", it diseapears.
>
> Here is my code to built my "image plane":
>
>  vtkActor sliceActor = new vtkActor();
>             // ImageSlice full path
>             string imageFullPath =
> System.IO.Path.GetFullPath(xmlBinding.GetSlice(XmlSlice.SliceRef).pictureRelativePathWithOverlays);
>
>
>             // Read the file
>             vtkPNGReader imageReader = new vtkPNGReader();
>             if(System.IO.File.Exists(imageFullPath))
>             {
>                 imageReader.SetFileName(imageFullPath);
>                 imageReader.Update();
>
>  vtkPlaneSource plane = vtkPlaneSource.New();
>                 plane.SetOrigin(0, 0, 0);
>
>                 if (XmlSlice.SliceRef != 0)
>                 {
>                     plane.SetPoint1(511 * THOutline.PIXELSIZE, 0, 0);
>                     plane.SetPoint2(0, 0, -674 * THOutline.PIXELSIZE);
>                     plane.SetXResolution(1);
>                     plane.SetYResolution(1);
>
>                 }
>                 else
>                 {
>                     plane.SetPoint1(0, 511 * THOutline.PIXELSIZE, 0);
>                     plane.SetPoint2(0, 0, -674 * THOutline.PIXELSIZE);
>                     plane.SetXResolution(1);
>                     plane.SetYResolution(1);
>                 }
>                 plane.SetCenter(XmlSlice.SlicePos.Xum,
> XmlSlice.SlicePos.Yum, XmlSlice.SlicePos.Zum + (674 * THOutline.PIXELSIZE /
> 2 - this.GetFocalPositionImageTopUm()));
>
>                 vtkPolyDataMapper sliceMapper = vtkPolyDataMapper.New();
>                 sliceMapper.SetInput(plane.GetOutput());
>
>
>
>                 sliceActor.SetMapper(sliceMapper);
>
>                 vtkTexture sliceTexture = vtkTexture.New();
>                 sliceTexture.SetInput(imageReader.GetOutput());
>                 sliceTexture.InterpolateOn();
>                 sliceTexture.SetQualityTo32Bit();
>
>                 sliceActor.SetTexture(sliceTexture);
>
>                 }
>             return sliceActor;
>
> So the image is correctly display, but if i had an a other actor as in this
> schema (top view):
>
>                            _________                                 :
> image slice actor
>
>                          00000000000                               :
> "volume actor"
>
>
>                                    -
>                                   | |
> : camera
>
>
> if volume actor opacity = 1, all work well.
> if volume actor opacity != 1 =>
>
>                             _________       : image slice actor
>
>
>                            0               00   : "volume actor"
>
>
>                                    -
>                                   | |               : camera
>
>
> I make some researches on web, and i found (maybe) a solution : using
> "vtkDephtSortPolyData but I am not sure to know how it works ( and maybe it
> is not the solution) .
>
> So i ask your help.
>
> Best Regards,
> --
> Bertrand de Boisdeffre
> Etudiant 2A  SICOM Phelma Grenoble-INP
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20100819/2817e975/attachment.htm>


More information about the vtkusers mailing list