Thank you very much for your answers, they were pretty useful!

>
> Hello,
> On Thu, 2011-09-22 at 14:56 +0200, Christian Bar wrote:
> > Hello everyone!
> > After a long time spent thinking about porting my OpenSG 1.8 application to
> > OpenSG 2.0, I decided to give it a try, mainly due to OSG2 new features like
> > stage rendering, animations, no beginEdit/endEdit, ...
> > Now I'll explain what I did, because a number of problems still remain (I'll
> > explain them later):
> >
> > - I downloaded some of the support libs (boost, zlib, glut, jpg, png, tiff),
>
> > configured them with cmake to generate the solution for MS Visual Studio
> > 2008 32 bit and compiled them.
> > - After that, I downloaded the OSG repository with git (revision dated 16
> > Sep 2011), configured them with cmake to generate the solution for MS Visual
> > Studio 2008 32 bit (I also checked the option OSGCOMPAT_ENABLE to ease the
> > transition).
> > - After almost a week of work (mailing list search for how-to guides and
> > trial-and-error approaches) I got mi project compiled with no errors (my
> > project is quite big, more or less 60k lines of code).
> > - After another 3 or 4 days of bugfixing, now almost everything work, except
> > for some problems that I am not able to solve.
> ok.
> > This is the problem list:
> >
> > ---------------------------------------------------------
> > 1) Once per frame TextTXFFace text update
> > ---------------------------------------------------------
> I'll answer the separate Mail.

Thanks, I'll try your patch asap


>
> > ---------------------------------------------------------
> > 2) Once per frame adding points to a Geometry
> > ---------------------------------------------------------
> can you give a few more hints what you try to do. There is a
> generalized example in AddOns/Compute (github.com/vossg) that
> shows how an application can update geometry in various ways
> (writing OpenSG Properties, mapping Buffers, using Cuda)
> But in order to provide good hints some ideas of what
> you try to do would be good ;)

Sorry, I forgot to include a test program showing my problem, I'll
post it in a separate mail...


> > ---------------------------------------------------------
> > 3) Updating node BoxVolume
> > ---------------------------------------------------------
> > The method someNode->getVolume() does not accept a parameters that tells to
> > update the BoxVolume (I used to use the BoundingVolume) before getting it.
> that was changed to be editVolume as it is a modifying function,
> thinking about it not the most clever choice of name, let me think
> if we can make it better named.
> > What I do now to get the right volume is:
> >
> > NodePtr parent, node;
> > ... update node core with a geometry...
> > parent->addChild(node);
> > commitChanges();
> > node->invalidateVolume();
> > node->updateVolume();
> > parent->invalidateVolume();
> > parent->updateVolume();
> > const BoxVolume &volume = parent->getVolume();
> >
> > Is this correct? Is there a faster way to get the right BoxVolume without
> > manually tell the nodes to be updated without a rendering pass or similar,
> > but RIGHT AFTER I modify the geometries inside the cores?
> in principal ok, only some of the stuff already runs in the background,
> e.g. commitChanges should invalidate the volumes correctly according to
> your changes (otherwise it is a bug). Simular the updateVolume on the
> parent should update the child volumes.
> so
> NodePtr parent, node;
> ... update node core with a geometry...
> parent->addChild(node);
> commitChanges();
> parent->updateVolume();
> const BoxVolume &volume = parent->getVolume();
> should work (if not let me know). As we do a lazy update on the volumes
> you have to explicitly tell OpenSG to update them, the invalidate part
> should be automatically tracked.

I replaced my stuff with commitChanges() and editVolume(true),
everything works fine!


> > ---------------------------------------------------------
> > 4) Invalid GraphOp name given: Stripe and SharePtr
> > ---------------------------------------------------------
> > Sometimes (also with some test programs) the osgInit() launch two warning:
> > WARNING: GraphOpSeq::setGraphOps: Invalid GraphOp name given: Stripe
> > WARNING: GraphOpSeq::setGraphOps: Invalid GraphOp name given: SharePtr
> > Why? How can I get rid of these warnings? StripeGraphOp and ShareGraphOp
> > still work?
> that is a consequence of 5 in combination with the SceneFileHandler
> being in System and the GraphOps in Util, I have to think about how to
> get rid of these warnings. As Util is pulled when OSGFileIO is loaded
> the actual graph ops should be there when needed.

Ok, no problem.


> > ---------------------------------------------------------
> > 5) preloadSharedObject ???
> > ---------------------------------------------------------
> > Why under Windows do I need to write these two lines:
> >
> > OSG::preloadSharedObject("OSGFileIO");
> > OSG::preloadSharedObject("OSGImageFileIO");
> >
> > to make OpenSG read and write the various file formats?
> that is the windows linker trying to be clever, which unfortunately
> goes wrong when exhaustively working with factory patterns.
> My take on the problem is that the linker computes the transitive
> closure of symbols needed to link the exe/dll. If it finds that a dll
> does not contribute any of its symbols to the closure it decides not to
> link and worst not to initialize the dll during startup. So the features
> of this dll are just missing. As this is beyond our control I still have
> not found a good solution. The only (small) good news I have is that
> this problems  is coming up worse for embedded platforms with only
> static libs available (IOS) so my hope is that a solution there can
> be used to work around this linker feature as well.

This was simply to know the reason I must write these lines :)

>
> kind regards
>   gerrit

Thank you again!
Christian

------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2dcopy2
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to