Hi Nathan,

Sorry for the slow turned around on the submission, I'm just getting
back on the horse after hols and lots of client work.

I've reviewing your changes and "think" I understand the fix.  One
thing I don't think should be needed is the last creation of a
RefMatrix in the line:

        pushModelMatrix(new osg::RefMatrix(*billboard_matrix));

I believe doing:

        pushModelMatrix(billboard_matrix.get());

Would be sufficient as billboard_matrix is already declared as a RefMatrix.

Thoughts?
Robert.


On Fri, Jul 2, 2010 at 4:59 PM, Nathan Monteleone
<[email protected]> wrote:
> Hi,
>
> I discovered a problem with POINT_ROT_EYE billboards in IntersectionVisitor: 
> because we pass in just the model matrix to 
> Billboard::computeBillboardMatrix, the billboard gets the wrong up vector.  
> It really needs to take the view matrix into account to get the correct up 
> vector.
>
> This version of IntersectionVisitor.cpp is made against today's SVN.  It 
> corrects the problem by computing the billboard matrix using the complete 
> modelview, and then multiplies by the inverse of the view matrix before 
> pushing onto IntersectionVisitor's model stack.  The only code I changed is 
> in apply(Billboard&).
>
> -Nathan
>
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=29635#29635
>
>
>
>
> Attachments:
> http://forum.openscenegraph.org//files/intersectionvisitor_183.cpp
>
>
> _______________________________________________
> osg-submissions mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to