[vtkusers] get visible surface

Lodron, Gerald Gerald.Lodron at joanneum.at
Thu Aug 23 01:59:29 EDT 2012


Ok, if you will be sometimes in Austria/Graz call me you will get a beer for that hint with aliasing^^
It really solved the issue with the noisy structures... thanks a lot I would never ever find that on my own.

-----Ursprüngliche Nachricht-----
Von: David E DeMarle [mailto:dave.demarle at kitware.com] 
Gesendet: Mittwoch, 22. August 2012 16:40
An: Lodron, Gerald
Cc: David Doria <daviddoria at gmail.com> (daviddoria at gmail.com)
Betreff: Re: [vtkusers] get visible surface

I'm still thinking antialiasing. Check your graphics driver controls to see if it is forced on. The vtk code tries to turn it off but the control settings can override that.

Also, run the vtk test and see if that passes or fails.

On Wed, Aug 22, 2012 at 10:31 AM, Lodron, Gerald <Gerald.Lodron at joanneum.at> wrote:
>
> Here the screenshot (without mailing list CC), hope it helps
>
> -----Ursprüngliche Nachricht-----
> Von: David E DeMarle [mailto:dave.demarle at kitware.com]
> Gesendet: Mittwoch, 22. August 2012 16:19
> An: Lodron, Gerald
> Cc: David Doria; (vtkusers at vtk.org)
> Betreff: Re: [vtkusers] get visible surface
>
> 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/ExtractVis
>>> i
>>> b
>>> 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