<div dir="ltr"><div><div><div><div><div><div><div>Hi Clement,<br><br></div>I have tried Julian's suggested approach of assign the num_iterations to an int and it works, simplify his original suggestion I get:<br><br></div>Original shader line that results in hang:<br><br>float num_iterations = ceil(length((te-t0).xyz)/SampleDensityValue);<br><br></div>Revised shader line that works fine:<br><br>int num_iterations = ceil(length((te-t0).xyz)/SampleDensityValue);<br><br></div>Now, these both should result in the same value, as ceil rounds to an integer value, abeit within the scope of floating point math.<br><br></div>Curiously the modern MultiPassTechnique shaders work fine too and they use an int.  Originally I didn't use an int for the num_iterations as early GLSL implementations didn't fully support int's.<br><br></div>I think the best solution would be to modify the shaders to all use int's for the num_iterations as a general coding approach using int's is sound.  It shouldn't however be need a float should work in this context just as well as a int.  What I suspect is that at certain values there is some kind of numerical bug on the GPU or perhaps driver that is resulting in an invalid float point value.  Casting from float to int seems to nip this error in the bud so it doesn't propagate.<br><br></div><div>It's end of day here so I'll have to make the changes and test them tomorrow and will update OpenSceneGraph-Data and OSG-3.2, OSG-3.4 an OSG-svn/trunk branches.<br><br></div><div>Robert.<br></div><div><br></div>Robert.<br><div><div><div><br><br><br><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 5 August 2015 at 17:46, Robert Osfield <span dir="ltr"><<a href="mailto:robert.osfield@gmail.com" target="_blank">robert.osfield@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">Hi Clement,<br><br><br><div class="gmail_extra"><div class="gmail_quote"><span class="">On 5 August 2015 at 17:06,  <span dir="ltr"><<a href="mailto:Clement.Chu@csiro.au" target="_blank">Clement.Chu@csiro.au</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div>
<div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt">  Thanks for your help to test the problem.  Please find the attachment of my test data.   I tested with my laptop (Nvidia NVS 5200M with driver 353.62) and used osg 3.2.1 x64 windows version.  The command is:<br>
<br>
osgviewer t1.osg<br></div></div></blockquote><div><br></div></span><div>Thanks for the model.<br><br>I've run it on my Kubuntu system with Geforce GTX 760 + <span style="color:#000000;background-color:#ffffff">346.59 drives and get a hang on my system when I rotate the view.  This happens with OSG svn/trunk (equivalent to OSG-3.4).  When I run osgvolume t1.dds I get the hang as well.  Given the nature of the hang and how it locks out the whole desktop it all points to GPU/driver issue of some kind.<br><br></span></div><div><span style="color:#000000;background-color:#ffffff">If I run:<br><br></span></div><div><span style="color:#000000;background-color:#ffffff">  osgvolume t1.dds --multi-pass <br><br></span></div><div><span style="color:#000000;background-color:#ffffff">I don't get any hang.  The osgVolume::MultiPassTechnique is only part of OSG-3.4 so you won't have this option when using OSG3.2.1.  By default osgvolume still defaults to the old RayTracedTechnique that you'll be familiar with, so I would suspect an issue with how the GPU is managing the RayTracedTechnique GLSL shaders.<br><br><br></span></div><div><span style="color:#000000;background-color:#ffffff">The thread that Julian Valentin linked discusses potentially the same issue, although the GLSL code Julian suggesting could be changed looks valid and the fix a workaround to otherwise valid code.  I will do a review of the shaders to see I can spot a problem.<span class="HOEnZb"><font color="#888888"><br><br></font></span></span></div><span class="HOEnZb"><font color="#888888"><div><span style="color:#000000;background-color:#ffffff">Robert.<br></span></div><div><span style="color:#000000;background-color:#ffffff"><br></span><div><span style="font-family:monospace">
<br></span></div>


</div><div><br><br> </div></font></span></div></div></div>
</blockquote></div><br></div>