[osg-users] osgVolume::MultipassTechnique use

Alex Taylor alextaylor at gmail.com
Fri Apr 29 07:52:13 PDT 2016


Robert,

The issue was I was setting a tileLocator, but I wasn't setting a
layerLocator. That was problematic in the following block of code:

                Locator* layerLocator =
_volumeTile->getLayer()->getLocator();
                if (tileLocator==layerLocator)
                {

tileData->tileToImageUniform->set(osg::Matrixf::identity());
                }
                else
                {
                    osg::Matrixd tileToImage(tileLocator->getTransform() *
osg::Matrixd::inverse(layerLocator->getTransform()));

tileData->tileToImageUniform->set(osg::Matrixf(tileToImage));
                }

layerLocator->getTransform() was returning a NULL.

Still don't have things rendering correctly, but at least things aren't
crashing, so that's progress.

Thanks,

- Alex


On Fri, Apr 29, 2016 at 2:58 AM Robert Osfield <robert.osfield at gmail.com>
wrote:

> Hi Alex,
>
> I haven't heard of the invert throwing a seg fault before.  The stack
> trace doesn't have any info about line numbers so we can't say what
> specifically was amiss.
>
> The only code in MultipassTechnique.cpp that calls Matrixd::invert() is:
>
>
>                Locator* tileLocator = _volumeTile->getLocator();
>                 osg::Matrixd tileToEye = tileLocator->getTransform() *
> (*(cv->getModelViewMatrix()));
>                 osg::Matrixd eyeToTile;
>                 eyeToTile.invert(tileToEye);
>
> Both matrices are created on the stack so will exist so there won't be any
> direct memory issue such as trying to work against a null pointer.
>
> The part that may provide somewhere to look are the
> tileLocator->getTransform() and cv->getModelViewMatrix() calls, if
> tileLocator is NULL then the Matrix the getTransform() method will get will
> be corrupted at best, similar with the cv->getModelViewMatrix().
>
> Both these *should* be valid at this point.  My suggestion would be to
> check the value of tileLocator, any chance that you haven't assgned a
> osgVolume::Locator to the VolumeTile?  The Locator is needed to place the
> unit cube of the 3d texture into model coordinates.
>
> Robert.
>
>
> On 28 April 2016 at 21:12, Alex Taylor <alextaylor at gmail.com> wrote:
>
>> Robert,
>>
>> Here is a better looking stack trace on Linux. (I believe this stack
>> trace has gdb debug symbols enabled, it was a bit tricky to create and
>> integrate a build with DEBUG symbols in my environment here, apologies if I
>> got it wrong).
>>
>> My guess is that the Matrixd object being inverted after the call to
>> MultipassTechnique::cull is a NULL pointer or something like that...is
>> there perhaps a property or something I'm failing to setup when using
>> MultipassTechnique that might cause that to happen?
>>
>> No, I don't know whether the example works. My use of MultipassTechnique
>> is failing on a Mac and a Linux box within the software stack where I am,
>> and the stack trace looks the same on Mac and Linux.  I can try to build
>> the example. In the build harness where I work, I'd have to do a bit of
>> work or else just build OSG from scratch to use the volume example.
>>
>> Any thoughts at all based on this seg fault trace? Any leads would be
>> much appreciated, feeling stuck.
>>
>> - Alex
>>
>> Stack Trace (from fault):
>> [  0] 0x00007f565ccdf968 osg::Matrixd::invert(osg::Matrixd const&) at
>> /sandbox/ataylor/Bmlhg_task1.j377265/matlab/src/osgserver/../../../3p_mirror/glnxa64/openscenegraph/include/osg/Matrixd:235
>> (in
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libmwosgserver.so)
>> [  1] 0x00007f565a335b04
>> osgVolume::MultipassTechnique::cull(osgUtil::CullVisitor*) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosgVolume.so.130+281343
>> [  2] 0x00007f565a3449bc
>> osgVolume::VolumeScene::traverse(osg::NodeVisitor&) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosgVolume.so.130+342455
>> [  3] 0x00007f565a9491bb osgUtil::CullVisitor::apply(osg::Group&) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosgUtil.so.130+868790
>> [  4] 0x00007f565a348330
>> osgVolume::VolumeScene::accept(osg::NodeVisitor&) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosgVolume.so.130+357163
>> [  5] 0x00007f565c4ed503 osg::Group::traverse(osg::NodeVisitor&) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosg.so.130+1537278
>> [  6] 0x00007f565a94aa86 osgUtil::CullVisitor::apply(osg::Transform&) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosgUtil.so.130+875137
>> [  7] 0x00007f565c525a48 osg::MatrixTransform::accept(osg::NodeVisitor&)
>> at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosg.so.130+1768003
>> [  8] 0x00007f565c4ed503 osg::Group::traverse(osg::NodeVisitor&) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosg.so.130+1537278
>> [  9] 0x00007f565a9491bb osgUtil::CullVisitor::apply(osg::Group&) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosgUtil.so.130+868790
>> [ 10] 0x00007f565c4eecb8 osg::Group::accept(osg::NodeVisitor&) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosg.so.130+1543347
>> [ 11] 0x00007f565c4ed503 osg::Group::traverse(osg::NodeVisitor&) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosg.so.130+1537278
>> [ 12] 0x00007f565a94a278 osgUtil::CullVisitor::apply(osg::Camera&) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosgUtil.so.130+873075
>> [ 13] 0x00007f565c4968f8 osg::Camera::accept(osg::NodeVisitor&) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosg.so.130+1181939
>> [ 14] 0x00007f565c4ed503 osg::Group::traverse(osg::NodeVisitor&) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosg.so.130+1537278
>> [ 15] 0x00007f565a9491bb osgUtil::CullVisitor::apply(osg::Group&) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosgUtil.so.130+868790
>> [ 16] 0x00007f565c4eecb8 osg::Group::accept(osg::NodeVisitor&) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosg.so.130+1543347
>> [ 17] 0x00007f565c4ed503 osg::Group::traverse(osg::NodeVisitor&) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosg.so.130+1537278
>> [ 18] 0x00007f565a9f26d7 osgUtil::SceneView::cullStage(osg::Matrixd
>> const&, osg::Matrixd const&, osgUtil::CullVisitor*, osgUtil::StateGraph*,
>> osgUtil::RenderStage*, osg::Viewport*) at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosgUtil.so.130+1562322
>> [ 19] 0x00007f565a9f0740 osgUtil::SceneView::cull() at
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libosgUtil.so.130+1554235
>> [ 20] 0x00007f565cd2a052
>> SceneRendererImpl::renderScene(hg::openscenegraph::RenderTimes&,
>> hg::openscenegraph::RenderCounts&, osgUtil::SceneView*, unsigned int) at
>> /sandbox/ataylor/Bmlhg_task1.j377265/matlab/src/osgserver/osg_server/osgSceneServer.cpp:1447
>> (in
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libmwosgserver.so)
>> [ 21] 0x00007f565cd2767f
>> hg::openscenegraph::OsgSceneServer::cullAndDraw(int, bool, double, double)
>> at
>> /sandbox/ataylor/Bmlhg_task1.j377265/matlab/src/osgserver/osg_server/osgSceneServer.cpp:1809
>> (in
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libmwosgserver.so)
>> [ 22] 0x00007f567465ae54
>> UIJ_call_OpenGLPaintFcn(gui_objects::scene_server::SceneServerProxy*, int,
>> bool, double, double) at
>> /mathworks/devel/bat/Bmlui_integ/build/matlab/src/uij/SceneServerPeerEvents.cpp:54
>> (in
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libuij.so)
>> [ 23] 0x00007f56727b5dfe
>> Java_com_mathworks_hg_peer_JavaSceneServerPeer_doDisplay at
>> /mathworks/devel/bat/Bmlui_integ/build/matlab/java/src/nativehg/Scene.cpp:125
>> (in
>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/glnxa64/libnativehg.so)
>> On Wed, Apr 27, 2016 at 4:13 AM Robert Osfield <robert.osfield at gmail.com>
>> wrote:
>>
>>> Hi Alex,
>>>
>>> A stack trace with debugging info would be far more useful and should be
>>> able to pinpoint the cause of the crash, or at least give some clues of
>>> where to look.
>>>
>>> Also, does the osgvolume example crash when you use the
>>> MultiPassTechnique?
>>>
>>> Robert.
>>>
>>> On 26 April 2016 at 21:35, Alex Taylor <alextaylor at gmail.com> wrote:
>>>
>>>> Hey all,
>>>>
>>>> I'm running into a segmentation violation when I attempt to use
>>>> osgVolume::MultipassTechnique more or less as a drop in replacement for
>>>> RayTracedTechnique using OSG 3.4. My use of RayTracedTechnique works and
>>>> renders fine.
>>>>
>>>> Here is an partial code listing demonstrating my use of
>>>> MultipassTechnique:
>>>>
>>>> *    void setVolumeProperties(osg::ref_ptr<osgVolume::Volume>
>>>> volume,osg::ref_ptr<osgVolume::VolumeTile> tile,*
>>>> *            osg::ref_ptr<osgVolume::ImageLayer> layer,
>>>> VolumePropertyManager &volumeProperties,
>>>> osg::ref_ptr<osgVolume::VolumeScene> volumeScene)*
>>>> *    {*
>>>>
>>>> *        // FixedFunctionTechnique turns on GL_LIGHTING, which breaks
>>>> the color rendering.*
>>>> *        osg::StateSet* stateset = volume->getOrCreateStateSet();*
>>>>
>>>> *        if (volumeProperties.volumeTechnique ==
>>>> VolumeTechnique::RayTraced){*
>>>> *            osg::ref_ptr<osgVolume::RayTracedTechnique> rayTraced =
>>>> new osgVolume::RayTracedTechnique();*
>>>> *            tile->setVolumeTechnique(rayTraced.get());*
>>>> *            osg::ref_ptr<osg::FrontFace> frontFace(new
>>>> osg::FrontFace(osg::FrontFace::CLOCKWISE));*
>>>> *            stateset->setAttribute(frontFace.get(),
>>>> osg::StateAttribute::PROTECTED);*
>>>> *            layer->addProperty(new
>>>> osgVolume::SampleDensityWhenMovingProperty(volumeProperties.sampleDensityWhenMoving));*
>>>> *            layer->addProperty(new
>>>> osgVolume::SampleDensityProperty(volumeProperties.sampleDensity));*
>>>> *        } else if (volumeProperties.volumeTechnique ==
>>>> VolumeTechnique::Multipass) {*
>>>> *            osg::ref_ptr<osgVolume::MultipassTechnique> multipass =
>>>> new osgVolume::MultipassTechnique();*
>>>> *            tile->setVolumeTechnique(multipass.get());*
>>>> *            volumeScene->addChild(volume.get());*
>>>> *            volume->getOrCreateStateSet();*
>>>> *            layer->addProperty(new
>>>> osgVolume::SampleRatioProperty(1.0f));*
>>>> *            layer->addProperty(new
>>>> osgVolume::SampleRatioWhenMovingProperty(0.5f));*
>>>>
>>>> *        } else if (volumeProperties.volumeTechnique ==
>>>> VolumeTechnique::FixedFunction) {*
>>>> *            tile->setVolumeTechnique(new
>>>> osgVolume::FixedFunctionTechnique());*
>>>> *            stateset->setMode(GL_LIGHTING,osg::StateAttribute::OFF |
>>>> osg::StateAttribute::OVERRIDE);*
>>>> *        } else {*
>>>> *            throw hg::PropertyException("VolumeTechnique");*
>>>> *        }*
>>>>
>>>> *        layer->addProperty(new
>>>> osgVolume::TransferFunctionProperty(volumeProperties.transferFunction.get()));*
>>>> *        layer->addProperty(new
>>>> osgVolume::AlphaFuncProperty(volumeProperties.alphaFunc));*
>>>> *        if (volumeProperties.useLighting) layer->addProperty(new
>>>> osgVolume::LightingProperty);*
>>>> *        if (volumeProperties.useIsosurface) layer->addProperty(new
>>>> osgVolume::IsoSurfaceProperty(volumeProperties.alphaFunc));*
>>>> *        if (volumeProperties.useMaximumIntensityProjection)
>>>> layer->addProperty(new osgVolume::MaximumIntensityProjectionProperty());*
>>>> *    }*
>>>>
>>>> The following function returns the Node * that will be passed to the
>>>> viewer. I either return a osgVolume::Volume * or osgVolume::VolumeScene *
>>>> object depending on whether I'm using multipass rendering as my Node *.
>>>>
>>>> *    osg::Node* BP_createPeerHelper(Volume& v,*
>>>> *            hg::SceneClient& client,*
>>>> *            const gui_objects::Cookie& owner,*
>>>> *            hg::UpdateState& us) {*
>>>>
>>>> *        osg::ref_ptr<osgVolume::Volume> volume = new
>>>> osgVolume::Volume;*
>>>> *        osg::ref_ptr<osgVolume::VolumeScene> volumeScene = new
>>>> osgVolume::VolumeScene;*
>>>>
>>>> *        const mxArray* data = v.getData();*
>>>> *        VolumePropertyManager volumeProperties(v,us);*
>>>>
>>>> *        if (data != NULL && mxGetNumberOfDimensions(data) == 3 &&
>>>> mxGetClassID(data) == mxUINT8_CLASS) {*
>>>>
>>>>
>>>> *            osg::ref_ptr<osgVolume::VolumeTile> tile = new
>>>> osgVolume::VolumeTile;*
>>>> *            volume->addChild(tile.get());*
>>>>
>>>> *            // If we are using FixedFunctionTechnique, we need to
>>>> apply the transfer function to get a new allocated RGBA memory on the CPU
>>>> to pass to OSG.*
>>>> *            // Otherwise, we can pass the intensity data directly to
>>>> the card. GPU shaders does the RGBA directly.*
>>>> *            osg::ref_ptr<osg::Image> intensityImage =
>>>> createTexture3D(data);*
>>>> *            osg::ref_ptr<osg::Image> image_3d =
>>>> (volumeProperties.volumeTechnique == VolumeTechnique::FixedFunction) ?*
>>>> *
>>>> osgVolume::applyTransferFunction(intensityImage.get(),volumeProperties.transferFunction.get())
>>>> :*
>>>> *
>>>> intensityImage.release();*
>>>>
>>>> *            osg::ref_ptr<osgVolume::ImageLayer> layer = new
>>>> osgVolume::ImageLayer(image_3d);*
>>>> *            tile->setLayer(layer.get());*
>>>>
>>>> *
>>>> setVolumeProperties(volume,tile,layer,volumeProperties,volumeScene);*
>>>>
>>>> *            // Our original implementation positioned the bbox
>>>> [-0.5,0.5] in each dimension.*
>>>> *            // FixedFunctionTechnique applies the locator matrix to
>>>> the a unit cube [0 1] in each dimension.*
>>>> *            // To get the equivalent spatial referencing, apply a
>>>> translation of -0.5 to each dimension.*
>>>> *            osg::ref_ptr<osg::RefMatrix> matrix = new
>>>> osg::RefMatrix();*
>>>> *            matrix->makeTranslate(-0.5,-0.5,-0.5);*
>>>>
>>>> *            tile->setLocator(new osgVolume::Locator(*matrix));*
>>>>
>>>> *        }*
>>>> *        else {*
>>>> *            throw hg::PropertyException("Data");*
>>>> *        }*
>>>>
>>>> *        std::cout << "volumeScene pointer: " << volumeScene.get() <<
>>>> std::endl;*
>>>>
>>>> *        if (volumeProperties.volumeTechnique ==
>>>> VolumeTechnique::Multipass)*
>>>> *            return volumeScene.release();*
>>>> *        else*
>>>> *            return volume.release();*
>>>>
>>>> *    }*
>>>>
>>>> When I execute my code that previously worked with RayTracedTechnique,
>>>> I receive the following stack trace
>>>>
>>>> Stack Trace (from fault):
>>>>
>>>> *[  0] 0x0000000104879d04
>>>> fl::diag::stacktrace_base::capture(fl::diag::thread_context const&,
>>>> unsigned long) at stacktrace.cpp:175 (in
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libmwfl.dylib)*
>>>>
>>>> *[  1] 0x000000010487cf9a void (anonymous
>>>> namespace)::terminate_impl::log<char const*>(char const* const&,
>>>> fl::diag::thread_context const&, char const*, int, char const*, bool) at
>>>> terminate.cpp:238 (in
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libmwfl.dylib)*
>>>>
>>>> *[  2] 0x000000010487ca09 fl::diag::terminate_log(char const*,
>>>> __darwin_ucontext const*) at lock_types.hpp:362 (in
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libmwfl.dylib)*
>>>>
>>>> *[  3] 0x00000001081cf0a8 (anonymous
>>>> namespace)::crash_context::generate_crash_report_(std::__1::basic_ostream<char,
>>>> std::__1::char_traits<char> >&) const at sighndl.cpp:1149 (in
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libmwmcr.dylib)*
>>>>
>>>> *[  4] 0x00000001081cea00 (anonymous namespace)::crash_context::ctor_()
>>>> at sighndl.cpp:1025 (in
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libmwmcr.dylib)*
>>>>
>>>> *[  5] 0x00000001081cd62a mnFatalSignalHandler at sighndl.cpp:729 (in
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libmwmcr.dylib)*
>>>>
>>>> *[  6] 0x00007fff90c31f1a _sigtramp+00000026 at
>>>> /usr/lib/system/libsystem_platform.dylib+20250 (no debugging symbols found)*
>>>>
>>>> *[  7] 0x0000000000000005 [unknown function] at [unknown module] (no
>>>> module specified)*
>>>>
>>>> *[  8] 0x00000001204c4e56
>>>> osgVolume::MultipassTechnique::traverse(osg::NodeVisitor&)+00000086 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosgVolume.130.dylib+106070
>>>> (no debugging symbols found)*
>>>>
>>>> *[  9] 0x00000001204dcbf6
>>>> osgVolume::VolumeTile::traverse(osg::NodeVisitor&)+00000438 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosgVolume.130.dylib+203766
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 10] 0x00000001204d7c0b
>>>> osgVolume::VolumeScene::traverse(osg::NodeVisitor&)+00008827 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosgVolume.130.dylib+183307
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 11] 0x0000000143a8daf2
>>>> osgUtil::CullVisitor::apply(osg::Group&)+00000642 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosgUtil.130.dylib+39666
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 12] 0x00000001204d8a79
>>>> osgVolume::VolumeScene::accept(osg::NodeVisitor&)+00000121 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosgVolume.130.dylib+187001
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 13] 0x00000001438749ef
>>>> osg::Group::traverse(osg::NodeVisitor&)+00000047 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosg.130.dylib+522735
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 14] 0x0000000143a8dbf0
>>>> osgUtil::CullVisitor::apply(osg::Transform&)+00000240 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosgUtil.130.dylib+39920
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 15] 0x00000001438b9499
>>>> osg::MatrixTransform::accept(osg::NodeVisitor&)+00000121 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosg.130.dylib+803993
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 16] 0x00000001438749ef
>>>> osg::Group::traverse(osg::NodeVisitor&)+00000047 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosg.130.dylib+522735
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 17] 0x0000000143a8daf2
>>>> osgUtil::CullVisitor::apply(osg::Group&)+00000642 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosgUtil.130.dylib+39666
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 18] 0x0000000143876049
>>>> osg::Group::accept(osg::NodeVisitor&)+00000121 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosg.130.dylib+528457
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 19] 0x00000001438749ef
>>>> osg::Group::traverse(osg::NodeVisitor&)+00000047 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosg.130.dylib+522735
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 20] 0x0000000143a8f29d
>>>> osgUtil::CullVisitor::apply(osg::Camera&)+00003021 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosgUtil.130.dylib+45725
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 21] 0x000000014381c209
>>>> osg::Camera::accept(osg::NodeVisitor&)+00000121 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosg.130.dylib+160265
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 22] 0x00000001438749ef
>>>> osg::Group::traverse(osg::NodeVisitor&)+00000047 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosg.130.dylib+522735
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 23] 0x0000000143a8daf2
>>>> osgUtil::CullVisitor::apply(osg::Group&)+00000642 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosgUtil.130.dylib+39666
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 24] 0x0000000143876049
>>>> osg::Group::accept(osg::NodeVisitor&)+00000121 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosg.130.dylib+528457
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 25] 0x00000001438749ef
>>>> osg::Group::traverse(osg::NodeVisitor&)+00000047 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosg.130.dylib+522735
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 26] 0x0000000143b486bb osgUtil::SceneView::cullStage(osg::Matrixd
>>>> const&, osg::Matrixd const&, osgUtil::CullVisitor*, osgUtil::StateGraph*,
>>>> osgUtil::RenderStage*, osg::Viewport*)+00002875 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosgUtil.130.dylib+804539
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 27] 0x0000000143b47117 osgUtil::SceneView::cull()+00001399 at
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libosgUtil.130.dylib+798999
>>>> (no debugging symbols found)*
>>>>
>>>> *[ 28] 0x00000001372607da
>>>> SceneRendererImpl::renderScene(hg::openscenegraph::RenderTimes&,
>>>> hg::openscenegraph::RenderCounts&, osgUtil::SceneView*, unsigned int) at
>>>> osgSceneServer.cpp:1448 (in
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libmwosgserver.dylib)*
>>>>
>>>> *[ 29] 0x000000013725922e
>>>> hg::openscenegraph::OsgSceneServer::cullAndDraw(int, bool, double, double)
>>>> at osgSceneServer.cpp:1809 (in
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libmwosgserver.dylib)*
>>>>
>>>> *[ 30] 0x000000011f298082
>>>> UIJ_call_OpenGLPaintFcn(gui_objects::scene_server::SceneServerProxy*, int,
>>>> bool, double, double) at SceneServerPeerEvents.cpp:56 (in
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libuij.dylib)*
>>>>
>>>> *[ 31] 0x000000011e589414
>>>> Java_com_mathworks_hg_peer_JavaSceneServerPeer_doDisplay at Scene.cpp:129
>>>> (in
>>>> /mathworks/devel/sbs/28/ataylor.Bmlhg_task1.j377265/matlab/bin/maci64/libnativehg.dylib)*
>>>> I was wondering if either from the stack trace or my code segments if
>>>> there is an obvious culprit in terms of my use of MultipassTechnique. I
>>>> feel like my use is consistent with the pattern established in the shipping
>>>> example, but I'm a bit stuck at the moment as far as next directions to
>>>> debug my problem...
>>>>
>>>> Thanks as always for any help,
>>>>
>>>> Alex
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> osg-users mailing list
>>>> osg-users at lists.openscenegraph.org
>>>>
>>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>>
>>>>
>>> _______________________________________________
>>> osg-users mailing list
>>> osg-users at lists.openscenegraph.org
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>
>>
>> _______________________________________________
>> osg-users mailing list
>> osg-users at lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20160429/07dd3a8f/attachment-0003.htm>


More information about the osg-users mailing list