Hi, Just a quick message to say that osgPango is great, it's so powerfull ! I dream of seeing it in the core OSG with a plugin system. ;)
Cheers, On Fri, Jul 1, 2011 at 7:22 PM, Jeremy Moles <[email protected]>wrote: > I would also like to quickly top-post myself and say that I see A LOT of > posts on the lists lately about osgText, and the next few months might > be a great time for people to pitch in with TextNode and get their stuff > working. :) > > On Fri, 2011-07-01 at 13:19 -0400, Jeremy Moles wrote: > > Hello all! In just a few days (I will finish the code over the holidays) > > I'm going to be submitting a bit of code to Robert to evaluate for > > inclusion into OSG proper. It is a continuation of his experimentation > > with a new text interface called TextNode. > > > > TextNode diverges a great deal from what you might be used to with Text > > and Text3D objects, but in the end the transition (if Robert accepts > > it :)) will be worth it. The API has been cleaned up, internal data is > > much easier to get at, and the rendering and layout backends have become > > pluggable. > > > > Before I finish up the last bits so that a first beta version can be > > submitted and people can begin experimenting with it, I'd like to > > solicit some input. > > > > 1) I'm dropping all support for the FFP. I mean, c'mon. It makes the > > code substantially harder to maintain and understand. If this causes the > > code to be rejected (or perhaps results in Text and Text3D staying > > around for a bit longer to support FFP), then so be it. :) In lieu of > > this, however, I'd like some opinions on which version of GLSL I should > > target and how well that version is currently supported by OSG. > > > > 2) TextNode (3D) glyph support is working quite well; it wasn't hard, > > since most of the code was already there in the backend. Each glyph is > > cached based on its Style and Font, put into a PAT, and then finally all > > of the text is squished into a top-level MatrixTransform. I continue to > > use the setAlignment() and setAxisAlignment() API, but obviously you're > > free to do whatever you like. How does this sound to everyone? > > > > 3) TextNode (2D) is still going to require a bit of work at the time of > > the first submission. In the new API, osg::Geometry objects are > > constructed using quads textured with the 2D glyphs and, again, packaged > > into a top-level MatrixTransform. A remaining (serious) question is how > > to do drop-shadows and outlines? > > > > 4) As some of you may know, I am also the author of osgCairo and > > osgPango. Both of these nodekits came to be as I was working on > > osgWidget, which--combined with getting sick--seriously sidetracked that > > project. :) (I haven't forgot about osgWidget though--hang in there!) > > This isn't an attempt to plug that software, but rather me posing a > > question I've asked before: > > > > 4.a) The 2D quality provided by osgPango simply cannot be > > matched by anything any of us could do by hand. This is > > partly due to osgPango's massive user base and its main > > developers, but it is also due to the fact that the Glyph > > rasterizer is Cairo. Now, I won't be so bold as to ask OSG > > to accept osgPango (yet :)), but what I would like to do is > > provide a way for Cairo to do the glyph rasterization instead of > > doing it manually with Freetype. This is the approach osgPango > > takes, and it lets osgPango provide a very powerful glyph > > "effect" API. Let me elaborate below... > > > > In current 2D OSG, you request a string of text. Each > > character is iterated over and the backend calls FT_Load_Char > > to render each glyph at a particular resolution, at which > > point that glyph is put into a texture atlas to be reused > > later. > > > > If we supported Cairo as a rasterizing backend, we would instead > > be given the glyph information for each character as a vector > > path and would have the freedom to do whatever Cairo's drawing > > API allows with it. In the most basic case, this would be a > > simple fill() operation, but as you can see from the osgPango > > screenshots: http://www.jeremymoles.com/osgPango , a lot of > > interesting things can be done when you have a vectorized > > path of a glyph. :) > > > > Don't misunderstand me though: osgPango isn't going anywhere! The layout > > support alone provided by osgPango is incredible, and it is able to > > provide additional information to the rasterizer for higher quality > > fonts (it also supports more than just Freetype; Atsui and the Windows > > font backend, for example). It also understands just about every > > language and locale out there, so text is always positioned properly. > > But I would like to at least like to pose the idea of using Cairo as the > > rasterizer, or at least providing a plugin (since it is the freetype > > plugin in the osgPlugins directory that actually is responsible for > > building the glyph atlas) to do this. > > > > ----------------------------------------------------------------------- > > > > I TRULY feel like if we can get this UI stuff under control (which is > > why I started working on osgWidget, osgCairo, osgPango) we can > > absolutely establish OSG as the premiere OpenGL toolkit. Hopefully I can > > make enough strides in this area in my freetime so that one day I can do > > it FULL TIME for a living. :) If anyone is familiar with Scaleform (and > > if you've played any games made in the last 5 years, you can't have > > missed it), something of that visual quality and style is what I > > envision for OSG one day (minus the Flash absurdity)... > > > > > > _______________________________________________ > > 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 > -- Serge Lages http://www.tharsis-software.com
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

