Hi, I just downloaded the latest OpenSG 1.8 Alpha and compiled both it and our app with it. It seems to be working solid, after I fixed the problems below. That's the good news for the 1.8 release!
However, my vector patch was included, and gave me a few surprising results this time around, so apparently I must've missed something when I tested it. (I've only myself to blame, and it's the second time out of two this happens, sigh) The patch fixes two things 1. the constructors are now explicit, so no automatic conversions happen behind the scenes. 2. the constructors are not overly general, so they don't catch _any type_ and assume it has an _ISize-member. (this have confused my compiler a few times) The good things with the patch: - Automatic conversions & creation of temporary objects can cost performance - Automatic conversions can lead to obscure bugs (converting a Pnt3 to Pnt4 gives a zero in the 4th element, not good for points) - I found a couple of bugs in my code ;) - The single ValueTypeT constructor works & no more inline-code in the header. The bad things: - The current 1.8 (with the patch) will probably break a lot of code, and it's not pleasant to fix (easy, yes, but it requires adding a lot of conversions randomly) The main causes for problems in my code is due to: - The difference in interface between points and vectors (adding/subbing/scaling, etc doesn't just "work") - TransformationMatrix doesn't provide getters that return Vec3f/Pnt3f to get basis vector or translation. I belive it is similar for other users. We could fix this in a few ways: 1. reverting the patch 2. making the constructors non-explicit 3. adding assignment operators similar to constructors and setValue (similar to 2, but without temporary objects) 4. Unify Vec/Pnt (& Color) into one class Does anyone feel strongly about this? * If not, just go for Option 2, get 1.8 out and focus fully on 2.0) * Íf so, how about option 3 for 1.8? (IMHO, that would make the release stable enough, if we also could make Pnt4f default to 1 for the last element) Option 4 would be my preferred option in the long run, i.e. 2.0. I think that's sort-of-planned anyway. Cheers /Marcus ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Opensg-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensg-users
