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

