[osg-users] Cloning text
Robert Osfield
robert.osfield at gmail.com
Fri Sep 22 03:13:00 PDT 2017
Hi Andreas.
On 22 September 2017 at 09:40, Andreas Ekstrand <
andreas.ekstrand at remograph.com> wrote:
> I'm using osgText to show vertex numbers. Often enough it's only 0,1,2 for
> triangles but it can be several hundred thousands of them.
>
> It's never been optimal, I know - and I guess this is the time to do
> something about it, I will look into an alternative way without osgText.
> Any suggestions are welcome!
>
On the OSG side I steadily shifting osgText to using shaders for effects
and simplifying the CPU side. Not all the way there yet but that's the
direction I'm going with it. Simplifying the CPU side will mean less
custom data manipulation that is different frrom osg::Geometry that just
pushes arrays and primitives to GL. With these evolution of osgText the
overhead for creating new text should be lower.
However, osgText it will always be a general purpose text implementation
rather than a highly tuned for a specific purpose. In your case it might
be simpler to do some specifically your task. If you have just 0..9
characters and a limited number of characters you start thinking about
doing far more on the GPU.
For instance you could use a single textured quad for each label, passing
in the characters to render via a uniform array or packed uniforms and have
a shader work out what texture coordinates into the glyph texture atlas to
use to render each character, then in the fragment shader get the
appropriate samples for each character. I have used this approach on
client project to make a very lightweight system for rendering labels, it
was a closed source project so not something I can share the
implementation, but it does at least show it works.
Another approach you could take is just create your own osg::Geometry and
reuse the osgText::Font/osgText::GlyhTexture. In the end basic rendering of
text is just texture quads, osgText can be used to provide the texture
atlas you need so most of the awkward work is done for you already.
Robert.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20170922/3d460325/attachment.htm>
More information about the osg-users
mailing list