Hi Mike, Your comments about ArrayDispatcher and slow paths was most illuminating. I had a look at the ArrayDispatchers.cpp and how it integrates with the GLBeginEndAdapter that is used as a fallback when slow paths have to be used and found that it didn't contain the handling of Vec3d's so I've added this and checked it into svn/trunk. With this change your edges3.osg model works with the vertex data passed in as a Vec3dArray.
Could you try out svn/trunk and let me know how you get on. Cheers, Robert. On Fri, Oct 21, 2011 at 1:26 PM, Mike Connell <[email protected]> wrote: > Hi Filip, > > Thanks for your comments. It appears the warnings are indeed from the > TriangleFunctor which is used by the DriveManipulator & TerrainManipulator. > As we don't use those pieces of code in this application I don't think they > are the problem here. > > I've dug a little deeper in the rendering code and found a solution. The > geometry object which isn't working has PER_PRIMITIVE and OVERALL bindings > and so was shunted off the fast path. I now suspect that there is a bug > within the ArrayDispatcher code where the Vec3d vertex data is discarded. > However, if I update the geometry so that fast paths are used, everything > works as expected. > > I am going to take the easy road and update our code to stay on the fast > path route, but in case anyone else has problems with double precision > geometry, the non fast path rendering code may be the culprit. > > best wishes > > Mike > > beleive that the problem lies within the ArrayDispatcher code, but > > On 18 October 2011 17:11, Filip Arlet <[email protected]> wrote: >> >> Hi, >> >> PolytopeIntersector uses osg::TriangleFunctor< T > and as you can see in >> code (TriangleFunctor header). >> Constructor called with Vec*d does nothing (prints warning). >> In member function TriangleFunctor::drawArrays OSG is accesing Array, that >> doesnt exists - and that's where the problem is I think. It looks like it's >> unfinished. For my app using double I created TriangleFunctorDouble < T > by >> replacing every float type variable to double type, but it's more like a >> workaround than a sollution. >> >> Cheers, >> Filip >> >> ------------------ >> Read this topic online here: >> http://forum.openscenegraph.org/viewtopic.php?p=43449#43449 >> >> >> >> >> >> _______________________________________________ >> osg-users mailing list >> [email protected] >> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

