Hi Robert,
I can send you a pretty simple example of this problem if you like,
but after what you said I don't know if there's any point.  I didn't
know vertex positions were being recomputed to orient the text to the
screen.  I supposed lots of transforms can slow down drawing pretty
bad, but computing enough vertex positions could slow down updating
even worse, depending on many factors.  Manipulating the modelview
matrix like a billboard sounds a lot simpler.  If we did a big change
like that, this problem I'm having would likely just go away.
--
Terry Welsh  /  mogumbo 'at' gmail.com
www.reallyslick.com  /  www.mogumbo.com


> Message: 7
> Date: Fri, 26 Mar 2010 10:07:43 +0000
> From: Robert Osfield <[email protected]>
> To: OpenSceneGraph Users <[email protected]>
> Subject: Re: [osg-users] bound not computed
> Message-ID:
>        <[email protected]>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Hi Terry,
>
> Good to hear that you've narrowed the problem down to the view
> dependent case.  Without diving into the code and testing it with an
> app that reproduces the problem I can't add much in the way of
> specific suggestions.
>
> One thing I've wondered about doing for a while now is to simplify
> osgText so that the view dependent code is done using manipulation of
> the modelview matrix rather than computing new values of the vertex
> positions of the quads as is done right now.  The code present holds a
> multi-buffer of vertex positions of the quads, with a set of positions
> per view, this code original existed to help handle tens of thousands
> of text labels on a Onyx system when we had to optimize as much as
> possible to get the performance required.  Nearly a decade of
> improvements in computers has occurred since then so I don't think the
> same performance constraints really need to hold back our
> implementation to being more complicated than it need be.
>
> So....  I'm inclined to throw out the multi-buffering and all the
> complicated updates and move the code to just having a single set of
> vertices for the quads and then computing the modelview matrix
> required to align and scale the text labels as required.  This
> simplifies the code and should make it easier to track down problems.
> It won't directly solve the bounding volume issue with view dependent
> text labels, but hopefully it'd make it easier to come up with a
> scheme that works solidly.
>
> Robert.
>
> On Fri, Mar 26, 2010 at 7:20 AM, Terry Welsh <[email protected]> wrote:
>> Tracked it down, sort of. ?Using setAxisAlignment(TextBase::SCREEN)
>> causes my Text to be culled out sometimes when it shouldn't be. ?Other
>> axis alignment modes that have _autoRotateToScreen set to false appear
>> to work. ?The Text seems to first appear when some other type of
>> drawable becomes a sibling in the scene graph structure. ?So I can
>> work around the problem now. ?However, I still can't pinpoint the
>> exact logic that's causing the Text to be culled improperly.
>> --
>> Terry Welsh ?/ ?mogumbo 'at' gmail.com
>> www.reallyslick.com ?/ ?www.mogumbo.com
>
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to