<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2016-08-29 13:36 GMT+02:00 Elvis Stansvik <span dir="ltr"><<a href="mailto:elvis.stansvik@orexplore.com" target="_blank">elvis.stansvik@orexplore.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="">2016-08-29 13:17 GMT+02:00 Elvis Stansvik <span dir="ltr"><<a href="mailto:elvis.stansvik@orexplore.com" target="_blank">elvis.stansvik@orexplore.com</a>></span><wbr>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span>2016-08-28 2:10 GMT+02:00 Alvaro Sanchez <span dir="ltr"><<a href="mailto:alvaro.sanchez@kitware.com" target="_blank">alvaro.sanchez@kitware.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><p dir="ltr">Sounds good, let us know if you still encounter the same issue with your proper</p></blockquote></span><div>I just made another test, and indeed rendering of two volumes seems to work.<br><br></div><div>However, if you look at the attached short screencast (two_volumes.ogv), where I move the camera around such that one volume is in front of the other, the volume that is in the back is not visible, instead the background color (white) is shown in this area.<br><br></div><div>Any idea what is going on here? I would have expected to be able to see the other volume through the first one. (The volumes in this screencast are not intersecting eachother).<br></div></div></div></div></blockquote><div><br></div></span><div>To give more details: In this example, it's two vtkVolumes, each have their own vtkGPUVolumeRayCastMapper and vtkVolumeProperty, but they're added to the same vtkRenderer. I've also tried having them share the same mapper and property, but the result is the same.<br><br></div><div>Must I do something with layers on the vtkRenderer? Or is there some setting to activate alpha channel on the volumes?<span class=""><font color="#888888"><br></font></span></div></div></div></div></blockquote><div><br></div><div>It seems I just had to set the sorting order of the frustum culler to back-to-front with:<br><br>        auto frustumCoverageCuller = vtkFrustumCoverageCuller::SafeDownCast(renderer()->GetCullers()->GetLastItem());<br>        frustumCoverageCuller->SetSortingStyleToBackToFront();<br><br></div><div>With that, it works (see attached screencast).<br><br></div><div>Does that make sense? I found that tip at<br><br>    <a href="http://marc.info/?l=vtkusers&m=131843232022152&w=2">http://marc.info/?l=vtkusers&m=131843232022152&w=2</a><br><br></div><div>Elvis<br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><span class=""><font color="#888888"><br></font></span></div><span class=""><font color="#888888"><div>Elvis<br></div></font></span><div><div class="h5"><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>Thanks in advance,<br></div><div><div><div>Elvis<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div>
<div class="gmail_extra"><br><div class="gmail_quote">On Aug 26, 2016 12:59 PM, "Elvis Stansvik" <<a href="mailto:elvis.stansvik@orexplore.com" target="_blank">elvis.stansvik@orexplore.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2016-08-26 14:15 GMT+02:00 Alvaro Sanchez <span dir="ltr"><<a href="mailto:alvaro.sanchez@kitware.com" target="_blank">alvaro.sanchez@kitware.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><p dir="ltr">Indeed Elvis, to clarify the confusion, I was referring to overlapping volumes in my last email. As mentioned in (<a href="http://public.kitware.com/pipermail/vtkusers/2016-February/094333.html" target="_blank">http://public.kitware.com/pip<wbr>ermail/vtkusers/2016-February/<wbr>094333.html</a>),  it is possible to add multiple vtkVolumes to a single vtkRenderer, this would work if they are not overlapping.</p><span>
<p dir="ltr">>Would the obstructed voxels of the >furthest volume not be visible at all, or >would I be able to see them "through" >the nearest volume?</p>
</span><p dir="ltr">You should see through (alpha blending is on during volume rendering).</p></blockquote><div>Thanks for clarifying Alvaro, that's reassuring. I did make a quick test with two volumes before I left work today and couldn't get the second one to show up, but it's quite likely I made something wrong since I was in a rush. I'll make a proper test when I'm back at work on Monday.<br><br></div><div>Elvis<br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div>
<div class="gmail_extra"><br><div class="gmail_quote">On Aug 26, 2016 3:04 AM, "Elvis Stansvik" <<a href="mailto:elvis.stansvik@orexplore.com" target="_blank">elvis.stansvik@orexplore.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2016-08-26 8:38 GMT+02:00 Elvis Stansvik <span dir="ltr"><<a href="mailto:elvis.stansvik@orexplore.com" target="_blank">elvis.stansvik@orexplore.com</a>></span><wbr>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span><p dir="ltr"></p>
<p dir="ltr">Den 26 aug. 2016 5:06 fm skrev "Alvaro Sanchez" <<a href="mailto:alvaro.sanchez@kitware.com" target="_blank">alvaro.sanchez@kitware.com</a>>:<br>
><br>
> Hi Alberto,<br>
><br>
> as you have noticed, multi-volume rendering is currently not supported in the vtkGPUVolumeRayCastMapper.  If you are building VTK with OpenGL2 however, it supports independent components so (depending on your use case) you might be able to render up to 4 volumes (one per component), provided you can arrange them in a four component array (this has the limitation that each component will need to have the same dimensions).  That said, we are working on giving support for multiple volumes in the next VTK release.</p>
</span><p dir="ltr">I have to jump in and ask: I was under the impression that multiple volumes was supported, as long as they don't intersect eachother in 3D space? But you're saying it's not possible at all?</p></blockquote><div>I found the mail by Aashish which led me to believe this was possible:<br><br>    <a href="http://public.kitware.com/pipermail/vtkusers/2016-February/094333.html" target="_blank">http://public.kitware.com/pipe<wbr>rmail/vtkusers/2016-February/0<wbr>94333.html</a><br><br></div><div>If it is actually possible, I have a question about the result I would get: If I had multiple volumes in the same view (non-intersecting) and the camera was positioned such that one of the volumes is in front of the other relative to the camera. Would the obstructed voxels of the furthest volume not be visible at all, or would I be able to see them "through" the nearest volume?<br><br></div><div>Elvis<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<p dir="ltr">If so I'm in a bit of trouble myself, as I was planning on doing that soon :(</p>
<p dir="ltr">In my case I have multiple volumes (coming from different readers) that I want to render next to eachother (but not overlapping anywhere). </p>
<p dir="ltr">If that's really not possible, I'll have to rethink my pipeline and redesign my custom reader to work with multiple files instead (and output a single volume). The problem with this is that I might want to show a volume that is larger than 2048 voxels in one dimension, which is not possible, at least not on intel, due to GPU texture size limitations (see my semi-recent thread about this). I had hoped that using multiple volumes would be a way to get around this.</p>
<p dir="ltr">Thanks in advance,<br>
Elvis</p><div><div>
<p dir="ltr">><br>
> With regards to the solution you mentioned (<a href="https://github.com/bozorgi/VTKMultiVolumeRayCaster" target="_blank">https://github.com/bozorgi/VT<wbr>KMultiVolumeRayCaster</a>), you could use it temporarily if it would solve your problem better than fitting the volumes as independent components.  It seems to implement a similar approach as we would do (connecting various inputs/ properties to the mapper) so it should not be extremely difficult to migrate to the official implementation in the future.  I have not tried it myself but please do let us know if you have any remarks once you try it.  As far as I know, if the python bindings are not explicitly disabled for these new classes then they should be also wrapped.<br>
><br>
> Regads,<br>
> Álvaro<br>
><br>
><br>
><br>
><br>
>><br>
>> ---------- Forwarded message ----------<br>
>> From: amdelaossa <<a href="mailto:adelaossa@gmail.com" target="_blank">adelaossa@gmail.com</a>><br>
>> Date: Thu, Aug 25, 2016 at 10:00 AM<br>
>> Subject: [vtkusers] Multiple volumes rendering with vtkGPUVolumeRayCastMapper or similar<br>
>> To: <a href="mailto:vtkusers@vtk.org" target="_blank">vtkusers@vtk.org</a><br>
>><br>
>><br>
>> Dear all, <br>
>> we (a research team in DESY, Germany) are strongly interested in rendering multiple data volumes in the same view with VTK. <br>
>> We chose VTK for our 3D visualisation project on beam-plasma interactions due to its extended functionality and features, <br>
>> its open source character and because it is written in C++ with bindings for python.<br>
>> However, we will require to show multiple volumes in the same view (representing the data of different particle species in our simulations).<br>
>> We are currently using a vtkGPUVolumeRayCastMapper object for each data set, which is then connected to a vtkVolume. <br>
>> The different vtkVolume objects are then added to the vtkRenderer.<br>
>> We have tried to use different vtkRenderer objects for the different vtkVolumes, <br>
>> but still only the first volume on the first vtkRenderer is displayed. <br>
>><br>
>> Searching in the web, we have found the following (potential) solution:<br>
>> <a href="https://github.com/bozorgi/VTKMultiVolumeRayCaster" target="_blank">https://github.com/bozorgi/VTK<wbr>MultiVolumeRayCaster</a><br>
>> which is published here:<br>
>> <a href="http://www.ncbi.nlm.nih.gov/pubmed/24841148" target="_blank">http://www.ncbi.nlm.nih.gov/pu<wbr>bmed/24841148</a><br>
>><br>
>> It consists on new vtk classes to handle multiple volumes rendering.<br>
>> As it might work well for our purposes, we would like to ask your opinion about this new classes.<br>
>> Are you planning to incorporate something like this in the official VTK distribution soon?<br>
>> If not, we will be interested in incorporating this new class into our personal VTK installation.<br>
>> Then the question is: Will be the python bindings automatically generated for these new classes?<br>
>><br>
>> Thanks a lot for your support!<br>
>><br>
>> Best regards,<br>
>> Alberto<br>
>><br>
>><br>
>> ______________________________<wbr>_________________<br>
>> Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
>><br>
>> Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensou<wbr>rce/opensource.html</a><br>
>><br>
>> Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FA<wbr>Q</a><br>
>><br>
>> Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" target="_blank">http://markmail.org/search/?q=<wbr>vtkusers</a><br>
>><br>
>> Follow this link to subscribe/unsubscribe:<br>
>> <a href="http://public.kitware.com/mailman/listinfo/vtkusers" target="_blank">http://public.kitware.com/mail<wbr>man/listinfo/vtkusers</a><br>
>><br>
>><br>
><br>
><br>
><br>
> -- <br>
> Alvaro Sanchez<br>
> Kitware, Inc.<br>
> Senior R&D Engineer<br>
> 21 Corporate Drive<br>
> Clifton Park, NY 12065-8662<br>
> Phone: <a href="tel:518-881-4901" value="+15188814901" target="_blank">518-881-4901</a><br>
><br>
> ______________________________<wbr>_________________<br>
> Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
><br>
> Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensou<wbr>rce/opensource.html</a><br>
><br>
> Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FA<wbr>Q</a><br>
><br>
> Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" target="_blank">http://markmail.org/search/?q=<wbr>vtkusers</a><br>
><br>
> Follow this link to subscribe/unsubscribe:<br>
> <a href="http://public.kitware.com/mailman/listinfo/vtkusers" target="_blank">http://public.kitware.com/mail<wbr>man/listinfo/vtkusers</a><br>
></p>
</div></div></blockquote></div><br></div></div>
</blockquote></div></div>
</div></div></blockquote></div><br></div></div>
</blockquote></div></div>
</div></div></blockquote></div></div></div><br></div></div>
</blockquote></div></div></div><br></div></div>
</blockquote></div><br></div></div>