<div dir="ltr">Hi David C., <div><br></div><div>We wrote an source article some time back on it: <a href="https://blog.kitware.com/paraview-in-immersive-environments">https://blog.kitware.com/paraview-in-immersive-environments</a>. Also worth looking at this another article: <a href="https://blog.kitware.com/immersive-paraview-experiences-at-idaho-national-laboratory">https://blog.kitware.com/immersive-paraview-experiences-at-idaho-national-laboratory</a> for some of the motivation and concepts behind the work. </div><div><br></div><div>Since there is no concept of units in VTK, all of the numbers are dependent on user picking a unit and if they all are in meters or centimeters or anything else, it should work as expected. Typically a VR system has a reference point using which distance are measured. Some systems report inches but most of the modern ones report meters or centimeters. An separation of 6 cm (or 0.06 m) is chosen for that reason but it is not mandatory. As far as the documentation goes, there is really one method which is important in vtkCamera and it has a reference for the paper in there (please see below). We kept the same variable names so referring the paper should be straightforward. If you have any particular suggestion on how to improve the documentation please let us know (A patch is also welcome).</div><div><br></div><div>- Thanks,</div><div><br></div><div><br></div><div>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(0,128,0)">//----------------------------------------------------------------------------</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,128,0)">void</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkCamera</span><span style="color:rgb(0,0,0)">::</span><span style="color:rgb(0,0,0)">ComputeOffAxisProjectionFrustum</span><span style="color:rgb(0,0,0)">()</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(0,0,0)">{</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">  </span><span style="color:rgb(128,128,0)">this</span><span style="color:rgb(0,0,0)">-></span><span style="color:rgb(0,0,0)">ComputeWorldToScreenMatrix</span><span style="color:rgb(0,0,0)">();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">  </span><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">\NOTE:</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">Varibles</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">names</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">reflect</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">naming</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">convention</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">used</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">in</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">  </span><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"High</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">Resolution</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">Virtual</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">Reality",</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">in</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">Proc.</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">  </span><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">SIGGRAPH</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">'92,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">Computer</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">Graphics,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">pages</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">195-202,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">1992.</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">  </span><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">OffAxis</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">calculations.</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 17, 2016 at 7:28 PM, David Gobbi <span dir="ltr"><<a href="mailto:david.gobbi@gmail.com" target="_blank">david.gobbi@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Thu, Mar 17, 2016 at 5:07 PM, David Cole <span dir="ltr"><<a href="mailto:DLRdave@aol.com" target="_blank">DLRdave@aol.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thank you for the tidbit of information about EyeSeparation. So with a<br>
value of 0.06, is it 6% of the x-axis (width) of the screen then?<br></blockquote><div><br></div></span><div>I don't know how it is implemented in VTK.  All I was saying is that it cannot</div><div>be in real-world meters, because vtkCamera doesn't know the size of the</div><div>display and therefore cannot convert distances in the observer's world to</div><div>distances in the virtual-world.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div> - David</div></font></span></div></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><font face="trebuchet ms, sans-serif"><i>| Aashish Chaudhary <br>| Technical Leader         <br>| Kitware Inc.            <br></i></font><div><i><font face="trebuchet ms, sans-serif">| </font><a href="http://www.kitware.com/company/team/chaudhary.html" target="_blank">http://www.kitware.com/company/team/chaudhary.html</a></i></div></div></div>
</div>