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.

This is the problem list:

---------------------------------------------------------
1) Once per frame TextTXFFace text update
---------------------------------------------------------

---------------------------------------------------------
2) Once per frame adding points to a Geometry
---------------------------------------------------------

---------------------------------------------------------
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.
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?


---------------------------------------------------------
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?


---------------------------------------------------------
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?

---------------------------------------------------------

When all things will work, if you want I will post my experience, maybe it
will be useful for someone :)
Thank you and sorry the extremely long e-mail :)

Christian Bar
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to