<div dir="ltr">Better late then never? Someone asked me off list for my patch so I am posting it here as well. I haven&#39;t tested this particular patch, because I had to remove some other changes I made, but I think this will work.</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Aug 1, 2012 at 1:01 PM, Aashish Chaudhary <span dir="ltr">&lt;<a href="mailto:aashish.chaudhary@kitware.com" target="_blank">aashish.chaudhary@kitware.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
Very nice.. Could you please send me the patch?<br>
<br>
Thanks,<br>
<br>
<br>
On Fri, Jul 6, 2012 at 5:24 PM, Krzysztof Kamieniecki<br>
<div class="HOEnZb"><div class="h5">&lt;<a href="mailto:krys@kamieniecki.com">krys@kamieniecki.com</a>&gt; wrote:<br>
&gt; I have a patch available (i&#39;m not sure where to send it). I changed<br>
&gt; vtkCamera and vtkOpenGLGPUVolumeRayCastMapper to produce and expect<br>
&gt; GetEyePosition() to give the actual eye position in world space. This seems<br>
&gt; to fix my problem. I think there may still be a clipping issue because of<br>
&gt; the use of GetEyePlaneNormal in vtkRenderer. I have to fix some of my own<br>
&gt; code to get more testing done and I would like to hear more about the<br>
&gt; original intent of EyePosition before making any more changes.<br>
&gt;<br>
&gt; On Fri, Jul 6, 2012 at 1:54 PM, Krzysztof Kamieniecki &lt;<a href="mailto:krys@kamieniecki.com">krys@kamieniecki.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi Aashish,<br>
&gt;&gt;<br>
&gt;&gt; I would like to try to take a stab at it.<br>
&gt;&gt;<br>
&gt;&gt; Based on the only use of GetEyePosition in VTK it seems like<br>
&gt;&gt; GetEyePosition should return the world space positions. (This expectation<br>
&gt;&gt; also explains the problems I have been seeing with weird clipping)<br>
&gt;&gt;<br>
&gt;&gt; from vtkRenderer::ResetCameraClippingRange<br>
&gt;&gt; ...<br>
&gt;&gt;   if(!this-&gt;ActiveCamera-&gt;GetUseOffAxisProjection())<br>
&gt;&gt;     {<br>
&gt;&gt;     this-&gt;ActiveCamera-&gt;GetViewPlaneNormal(vn);<br>
&gt;&gt;     this-&gt;ActiveCamera-&gt;GetPosition(position);<br>
&gt;&gt;     this-&gt;ExpandBounds(bounds,<br>
&gt;&gt; this-&gt;ActiveCamera-&gt;GetModelTransformMatrix());<br>
&gt;&gt;     }<br>
&gt;&gt;   else<br>
&gt;&gt;     {<br>
&gt;&gt;     this-&gt;ActiveCamera-&gt;GetEyePosition(position);<br>
&gt;&gt;     this-&gt;ActiveCamera-&gt;GetEyePlaneNormal(vn);<br>
&gt;&gt;     this-&gt;ExpandBounds(bounds,<br>
&gt;&gt; this-&gt;ActiveCamera-&gt;GetModelViewTransformMatrix());<br>
&gt;&gt;     }<br>
&gt;&gt; ...<br>
&gt;&gt;<br>
&gt;&gt; My current understanding is that the OffAxisProjection perspective<br>
&gt;&gt; transformation matrix is being used by the GPU Renderer to setup to outer<br>
&gt;&gt; polygons.<br>
&gt;&gt;<br>
&gt;&gt; So the main thing to do would be to produce world coordinate Eye Positions<br>
&gt;&gt; and use those instead of the Camera Position in the volume Renderer, so the<br>
&gt;&gt; shaders would get the proper ray directions?<br>
&gt;&gt;<br>
&gt;&gt; What is the desired functionality of EyeTransform? WorldToEye, EyeToWorld,<br>
&gt;&gt; CameraToEye, EyeToCamera?<br>
&gt;&gt;<br>
&gt;&gt; Best Regards,<br>
&gt;&gt; Krys<br>
&gt;&gt;<br>
&gt;&gt; On Fri, Jul 6, 2012 at 1:41 PM, Aashish Chaudhary<br>
&gt;&gt; &lt;<a href="mailto:aashish.chaudhary@kitware.com">aashish.chaudhary@kitware.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Hi Krzysztof,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Fri, Jul 6, 2012 at 1:12 PM, Krzysztof Kamieniecki<br>
&gt;&gt;&gt; &lt;<a href="mailto:krys@kamieniecki.com">krys@kamieniecki.com</a>&gt; wrote:<br>
&gt;&gt;&gt; &gt; Hi,<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; How is the EyePosition and EyeTransform functionality supposed to<br>
&gt;&gt;&gt; &gt; behave,<br>
&gt;&gt;&gt; &gt; should the positions be in CameraSpace or WorldSpace?<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Should they be syncronized with EyeSeparation / LeftEye when in<br>
&gt;&gt;&gt; &gt; Off-Axis<br>
&gt;&gt;&gt; &gt; Projection mode?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; I am trying to get the GPU Volume renderer to work with Stereo 3D in<br>
&gt;&gt;&gt; &gt; Off-Axis projection mode, one problem seems to be that the Camera<br>
&gt;&gt;&gt; &gt; position<br>
&gt;&gt;&gt; &gt; is used instead of the Eye position.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; This is a known problem and based on my prior discussions with volume<br>
&gt;&gt;&gt; rendering experts here at Kitware, I believe that this needs to be<br>
&gt;&gt;&gt; fixed on the volume rendering side of things.<br>
&gt;&gt;&gt; If you want to make it work by yourself then we could provide you<br>
&gt;&gt;&gt; guidance for this task.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Thanks,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Thanks,<br>
&gt;&gt;&gt; &gt; Krys<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt;&gt; &gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Visit other Kitware open-source projects at<br>
&gt;&gt;&gt; &gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Please keep messages on-topic and check the VTK FAQ at:<br>
&gt;&gt;&gt; &gt; <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt;&gt; &gt; <a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; --<br>
&gt;&gt;&gt; | Aashish Chaudhary<br>
&gt;&gt;&gt; | R&amp;D Engineer<br>
&gt;&gt;&gt; | Kitware Inc.<br>
&gt;&gt;&gt; | <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;<br>
&gt; Visit other Kitware open-source projects at<br>
&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;<br>
&gt; Please keep messages on-topic and check the VTK FAQ at:<br>
&gt; <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
&gt;<br>
&gt; Follow this link to subscribe/unsubscribe:<br>
&gt; <a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
&gt;<br>
<br>
<br>
<br>
--<br>
| Aashish Chaudhary<br>
| R&amp;D Engineer<br>
| Kitware Inc.<br>
| <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
</div></div></blockquote></div><br></div>