[vtkusers] Transparency issue beetween actors
Jothy
jothybasu at gmail.com
Thu Aug 19 06:06:43 EDT 2010
What about setting
sliceMapper->SetSetResolveCoincidentTopologyToPolygonOffset() ?
Jothy
On Thu, Aug 19, 2010 at 11:03 AM, Bertrand de Boisdeffre <
bertrand.boisdeffre at gmail.com> wrote:
> I tried this code (maybe wrong):
>
> vtkPolyDataMapper.SetSetResolveCoincidentTopologyToPolygonOffset()
> slicemapper= vtkPolyDataMapper.New();
> sliceMapper.SetInput( "");
> ...
>
> but it doesn't resolve my problem. However, this method is static and i
> don't know if i have to call it as I do in my code.
>
> 2010/8/19 Jothy <jothybasu at gmail.com>
>
> 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
>>>
>>>
>>
>
>
> --
> Bertrand de Boisdeffre
> Etudiant 2A SICOM Phelma Grenoble-INP
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20100819/657a8f70/attachment.htm>
More information about the vtkusers
mailing list