Hi Smilen,
On Thu, 2005-12-01 at 20:32 +0100, Smilen Dimitrov wrote:
>
> First of all, thanks for the reply !! :)
that's part of what we're here for. ;)
> Thanks for this - I tried to mess with WinDbg a little, and I managed
> to get, I
> hope, a more meaningful stack trace. I use the Call Stack window in
> WinDbg, and
> for some reason I had to enter the start directory as well whenever I
> wanted to
> open an executable.. The symbols were missing, I tried entering the paths for
> the compiled libs for both VR Juggler and OpenSG but then it still complains -
Hm, that's weird. Not sure what you need to do to make it work right, I
only use Windows if I really can't avoid it.
> though in the end, I got to the following call stack trace from when the
> example crashes:
>
> http://www.smilen.net/VolrenJuggler/DebugTrace01.txt
>
> The same text file has the call stack for the corresponding point (I guess) in
> the non crashing simple volume render example.
>
> From what I can see, when the time comes for the volume to be rendered,
> OSGSystemD!osg::DVRVolume::draw is called, and as part of that it iterates
> through OSGSystemD!osg::FieldContainerPtr::FieldContainerPtr, and when
> it comes
> to OSGSystemD!osg::FieldContainerPtrBase::FieldContainerPtrBase+0x29 it
> crashes
> (the non crashing OpenSG volume example simply continues beyond this point
> iterating through further FieldContainerPtr-s).
Looking at the code the VolRen assumes that the Camera always has a
beacon, which is not the case for a VRJuggler application. I committed a
fix, and attached a patch if you want to try it yourself, otherwise
you'll have to wait for the next dailybuild to have it.
I hope this will fix it.
Yours
Dirk
The patch:
diff -u -3 -p -r1.1 OSGDVRVolume.cpp
--- OSGDVRVolume.cpp 28 Jan 2004 01:10:23 -0000 1.1
+++ OSGDVRVolume.cpp 2 Dec 2005 18:10:11 -0000
@@ -417,10 +417,12 @@ Action::ResultE DVRVolume::draw(DrawActi
}
// sort bricks
- Vec3f eyePointWorld;
+ Vec3f eyePointWorld(0.f, 0.f, 0.f);
- eyePointWorld.setValue(
- action->getCamera()->getBeacon()->getToWorld()[3]);
+ action->getCameraToWorld().mult(eyePointWorld);
+
Matrix modelMat = action->getActNode()->getToWorld();
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users