[vtkusers] get visible surface

David E DeMarle dave.demarle at kitware.com
Wed Aug 22 10:18:52 EDT 2012


On Wed, Aug 22, 2012 at 1:57 AM, Lodron, Gerald
<Gerald.Lodron at joanneum.at> wrote:
> Ok, thanks, i tested the vtkHardwareSelector in combination with the vtkExtractSelection Filter and have some questions:
>
> -> In general it works well but always some "noisy" polygons outside the visible region remain, is there a way to remove them also? (I can give code examples/screenshots if necessary, data set is very huge to send but is possible if required)

A screenshot might make the cause apparent.

Any display settings that change the color of pixels (shading,
antialiasing, color depth) make it impossible to get an ID
corresponding to the color of the pixel and screw up pixel based
selection. Antialiasing is my guess as to what is wrong in your
program.

> -> The problem is that I will not have a monitor on my later device, so an offscreen like the mentioned osmesa is essential. Is this the  VTK_USE_OFFSCREENT flag in cmake? Are there any known troubles in that mode or does it work well (I use it on windows)?
>

That specific flag tells VTK to always choose offscreen rendering
classes. On windows, they typically go through the windows provided GL
instead of OSMesa. You may have to coerce windows into working in a
headless environment. I've done it before with microsoft's HPC server
cluster solution but I don't recall the specifics of how to set that
up or know how to do it without HPC server.

> Some details about my application:
>
> A human walks with a special camera which makes depth images and records many frames of an object. From these depth images we generate a very huge image with propabilities of being  a surface (this is currently implemented and works). From this image we generate a vtkPolyData using the marching cubes (currently vtkMarchingCubes, but we will go to vtkSliceCubes because it can stream the input, later images will have a size of 10 000 x 10 000 x 10 000 which is about 4 Terrabyte, I do not have such a RAM so a streaming would be nice). The problem is that marching cubes always generates two surfaces of this floating PDF image, to remove the hidden one I want to use the camera position(s) with the hidden surface detection like the vtkHardwareSelector... So for every camera position I will call the HardwareSelector and will make a logical OR operation on the vtkInsidedness result of the vtkHardwareSelector... And I am afraid that the noisy remaining backtriangles of vtkHardwareSelector will accumulate...
>
> Maybe someone has some hints for me...
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: David E DeMarle [mailto:dave.demarle at kitware.com]
> Gesendet: Dienstag, 21. August 2012 20:19
> An: David Doria
> Cc: Lodron, Gerald; (vtkusers at vtk.org)
> Betreff: Re: [vtkusers] get visible surface
>
> Use this test as a start:
> http://vtk.org/gitweb?p=VTK.git;a=blob;f=Rendering/OpenGL/Testing/Cxx/TestAreaSelections.cxx
>
> David E DeMarle
> Kitware, Inc.
> R&D Engineer
> 21 Corporate Drive
> Clifton Park, NY 12065-8662
> Phone: 518-881-4909
>
>
> On Tue, Aug 21, 2012 at 2:13 PM, David Doria <daviddoria at gmail.com> wrote:
>> On Tue, Aug 21, 2012 at 1:47 PM, David E DeMarle
>> <dave.demarle at kitware.com>
>> wrote:
>>>
>>> Use vtkHardwareSelector, it is a more recent implementation of
>>> visible surface selection. It will give you cells if you ask it to
>>> for instance. See:
>>> http://www.vtk.org/doc/nightly/html/classvtkHardwareSelector.html
>>>
>>> I think the only thing that can be done about not needing a monitor
>>> is to use an offscreen rendering context (osmesa for example). Screen
>>> space operations like visible surface selection get too much from the
>>> infrastructure that VTK's display pipeline (and openGL underneath)
>>> provide to make removing them practical.
>>
>>
>> If you figure out how to get it to work and could fix this example:
>> http://www.vtk.org/Wiki/VTK/Examples/Cxx/Broken/Filtering/ExtractVisib
>> leCells
>>
>> that would be great!
>>
>> David
>>
>> _______________________________________________
>> 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
>>



More information about the vtkusers mailing list