[osg-users] osgDotNet : Nodes adding to scene graphoutsidemain()function scope
mwittman at seismicmicro.com
Tue Sep 25 08:52:07 PDT 2007
I expect this is a pretty deep problem related to the way reference counting is handled by osgDotNet. I'd recommend reviewing the RefCount Deletion Statechart diagram in the GeneratedCode.uml file, which gives insight into the (intended) reference counting strategy. Also I found the book CLR via C# extremely helpful in understanding how the CLR GC works.
I do intend to look into this more when I have the time, but I'm not sure how soon that will happen. If you figure it out in the mean time I'll be happy to accept a patch. :)
From: osg-users-bounces at lists.openscenegraph.org [mailto:osg-users-bounces at lists.openscenegraph.org] On Behalf Of Jason Beverage
Sent: Tuesday, September 25, 2007 10:06 AM
To: OpenSceneGraph Users
Subject: Re: [osg-users] osgDotNet : Nodes adding to scene graphoutsidemain()function scope
I tried to do some debugging with regards to the PAT issue I added and it has something to do with the finalizer being run a NodeVisitor object, but that's about as far as I got. I couldn't understand why it would be an issue for nodes containing particle systems, but other nodes are fine. I think it has something to do with the adapter pattern being used that allows a user to subclass Nodes in C#, but I haven't gotten any further.
On 9/25/07, Christophe Medard <christophe.medard at oktal.fr> wrote:
Thanks for telling me the same kind of thing was already reported !
I understand passin in OSG 2.1.12 would do no good.
Thanks also for confirming the OSG reference count management being done by the wrapper layer in a .NET Managed-fashion...
It's quite hard to find the root cause indeed, since it seems to depend on independant factor, like where the camera is -initially- positionned : I only get the problem when letting osgViewer set it away from the scene (no osgViewer.getCameraManipulator().setHomePosition() call in my mainloop). There's something about an intersect visitor apparently (a culling pass ?).
One could think it's only where the AccessViolation first occur. I'm not sure : if I initialize the camera close to the scene geometry, not only does my AccessViolation vanish, but I don't have the OSG Notice warning about a possible problem anymore either. That whether I leave space between my point of the scene and scene geometry through manipulator's behaviour afterwards in the run time of my application...
Anyway, if anyone happen to lock the root cause, please don't hesitate to post !
Société OKTAL (http://www.oktal.fr)
2 impasse Boudeville
31100 Toulouse (France)
Tél. : (+33) 5 62 11 50 10
Fax : (+33) 5 62 11 50 29
----- Original Message -----
From: Mike Wittman <mailto:mwittman at seismicmicro.com>
To: OpenSceneGraph Users <mailto:osg-users at lists.openscenegraph.org>
Sent: Tuesday, September 25, 2007 3:58 PM
Subject: Re: [osg-users] osgDotNet : Nodes adding to scene graph outsidemain()function scope
This sounds like a bug that Jason reported where a particle system under a PAT node gives the same symptoms - http://www.openscenegraph.org/projects/osgDotNet/ticket/1. I've dug into that problem some, but only enough to know that it will take quite a bit more time to track down the root cause.
You're correct about the reference count management; it's intended to be completely handled by the wrappers and transparent to the C# user. Obviously something is going wrong in this particular case.
mwittman at seismicmicro.com <mailto:mwittman at seismicmicro.com>
Seismic Micro-Technology, Inc.
8584 Katy Freeway, Suite 400 / Houston, Texas 77024
Tel. +1 (713) 464-6188
Fax. +1 (713) 464-6440
CONTACT US TODAY for more information.
osg-users mailing list
osg-users at lists.openscenegraph.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the osg-users