[vtkusers] Volume Rendering and zbuffer

Steve Petruzza steve.petruzza at gmail.com
Fri Oct 7 10:45:12 EDT 2016


When I remove the offscreen rendering it changes the dimensions of the output image.
In my case the render window has size 2048x2048 but the output ImageData for both color and depth are 1440x785 (that is the resolution of my screen).

Anyway the result in the buffer is the same: I get only 2 values, background 0 and volume 255.
Alternatively is there a renderer for volume on CPU instead?

Thanks,
Steve


> On 07 Oct 2016, at 17:35, Aashish Chaudhary <aashish.chaudhary at kitware.com> wrote:
> 
> Can you tru it without offscreen rendering turned on? 
> 
> Thanks 
> 
> On Thu, Oct 6, 2016 at 12:49 PM Steve Petruzza <steve.petruzza at gmail.com <mailto:steve.petruzza at gmail.com>> wrote:
> Thank you Aashish,
> 
> I tried to use the “vtkOpenGLGPUVolumeRayCastMapper” as following:
> 
> —————————————
> 
> vtkSmartPointer<vtkOpenGLGPUVolumeRayCastMapper> mapper =  vtkSmartPointer<vtkOpenGLGPUVolumeRayCastMapper>::New();
> 
> mapper->RenderToImageOn();
> mapper->SetBlendModeToComposite();
> 
> vtkSmartPointer<vtkVolume> volumep =  vtkSmartPointer<vtkVolume>::New();
> volumep->SetMapper(mapper);
> 
> renderer->AddVolume(volumep);
> 
> // rendering and camera settings…
> 
>   renderWindow->SetOffScreenRendering( 1 );
>   renderWindow->Render();
> 
> vtkSmartPointer<vtkImageData> depthImage = vtkSmartPointer<vtkImageData>::New();
> vtkSmartPointer<vtkImageData> colorImage = vtkSmartPointer<vtkImageData>::New();
>  
>   mapper->GetDepthImage(depthImage);
>   mapper->GetColorImage(colorImage);
> 
> —————————————
> 
> The depthImage has type unsigned char, and I noticed that it contains only values 255 or 0 (for the background), nothing in between.
> I was expecting a gradient of values, generally floats or even normalized to char. 
> 
> What am I missing?
> 
> Thank you,
> Steve
> 
> 
> 
> 
>> On 04 Oct 2016, at 19:48, Aashish Chaudhary <aashish.chaudhary at kitware.com <mailto:aashish.chaudhary at kitware.com>> wrote:
>> 
>> Hi Steve, 
>> 
>> If you intend to get the depth values from volume (and not just geometry), then not clearing the depth buffer will not help either since we don't write to depth buffer (the defaults won't make sense anyways). If you are looking for depth values from both volume and geometry, then you may want to look into this option RenderToImage in the base class (https://github.com/Kitware/VTK/blob/master/Rendering/Volume/vtkGPUVolumeRayCastMapper.h <https://github.com/Kitware/VTK/blob/master/Rendering/Volume/vtkGPUVolumeRayCastMapper.h>). Give it a try and let us know if that works for you. If you enable this option then you can call GetColorImage and GetDepthImage for the depth values. 
>> 
>> Thanks,
>> 
>> 
>> On Tue, Oct 4, 2016 at 12:34 PM Aashish Chaudhary <aashish.chaudhary at kitware.com <mailto:aashish.chaudhary at kitware.com>> wrote:
>> That is because we make a call to clear the depth buffer bit  that is: glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT). I have to think all of the use-cases but I think we don't need to clear the depth buffer. We can push a simple fix for it on the master branch. 
>> 
>> - Aashish
>> 
>> 
>> 
>> 
>> On Tue, Oct 4, 2016 at 12:12 PM stevep <steve.petruzza at gmail.com <mailto:steve.petruzza at gmail.com>> wrote:
>> Hi all,
>> 
>> I used the vtkPolyDataMapper to render a surface and then with the
>> vtkRenderWindow I can get correctly the ZBuffer using GetZbufferData and the
>> RGB data via vtkWindowToImageFilter.
>> 
>> When I use, starting from the same vtkImageData, a volume rendering like the
>> SmartVolumeMapper (as in the following):
>> http://www.vtk.org/Wiki/VTK/Examples/Cxx/VolumeRendering/SmartVolumeMapper <http://www.vtk.org/Wiki/VTK/Examples/Cxx/VolumeRendering/SmartVolumeMapper>
>> 
>> The RGB data are correct but the ZBuffer contains all values == 1 (checked
>> dumping the float array to disk).
>> 
>> I get the same result changing blend mode and using a
>> vtkFixedPointVolumeRayCastMapper.
>> 
>> What am I missing?
>> 
>> Thank you
>> 
>> 
>> 
>> 
>> 
>> --
>> View this message in context: http://vtk.1045678.n5.nabble.com/Volume-Rendering-and-zbuffer-tp5740662.html <http://vtk.1045678.n5.nabble.com/Volume-Rendering-and-zbuffer-tp5740662.html>
>> Sent from the VTK - Users mailing list archive at Nabble.com <http://nabble.com/>.
>> _______________________________________________
>> Powered by www.kitware.com <http://www.kitware.com/>
>> 
>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html <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 <http://www.vtk.org/Wiki/VTK_FAQ>
>> 
>> Search the list archives at: http://markmail.org/search/?q=vtkusers <http://markmail.org/search/?q=vtkusers>
>> 
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/vtkusers <http://public.kitware.com/mailman/listinfo/vtkusers>
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20161007/64b54d5d/attachment.html>


More information about the vtkusers mailing list