<div dir="ltr"><div><div>Hi Lv,<br><br></div>osgText::Text implementation is very pretty old now, with a design driven by the needs of very old hardware.  If I were to rewrite osgText I would not implement it the has been.  I would not recommend adding OpenGL coding into osgText::Text as this breaks OSG's ability to do lazy state updating.<br><br></div>Robert.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 27 October 2015 at 16:48, Lv Qing <span dir="ltr"><<a href="mailto:donlvqing@msn.com" target="_blank">donlvqing@msn.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thx!Robert!<br>
<br>
    The situation is,we  have modified the text.cpp to create some other styles rather than boundingbox.<br>
<br>
    Like a BoundingLine,one end to one of the corner of a BoundingBox,the other end linked to a osg::Node.<br>
<br>
   So if a text have a BoundingLine and a BoundingBox,I just want draw the BoundingBox as normal,but draw the BoundingLine with LineStipple .So I think one osg::StateSet may not solve this problem.<br>
<br>
  I am not quiet  familiar with the openGL programming since I use osg at first.I search the web found people use this code to set<br>
Linewidth and Stipple<br>
<span class=""><br>
glLineWidth (2.0);<br>
glLineStipple (1, 0x0F0F);<br>
<br>
</span>And I look into text.cpp,found lots of code like use openGL directly,such as :<br>
<br>
 //glClear(GL_STENCIL_BUFFER_BIT);<br>
<br>
 // enable stencil buffer<br>
    glEnable(GL_STENCIL_TEST);<br>
<br>
    // write a one to the stencil buffer everywhere we are about to draw<br>
    glStencilFunc(GL_ALWAYS, 1, 1);<br>
<br>
    // write only to the stencil buffer if we pass the depth test<br>
    glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);<br>
<br>
    // Disable writing to the color buffer so we only write to the stencil<br>
    // buffer and the depth buffer<br>
    glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);<br>
<br>
    // make sure the depth buffer is enabled<br>
//    glEnable(GL_DEPTH_TEST);<br>
//    glDepthMask(GL_TRUE);<br>
//    glDepthFunc(GL_LESS);<br>
<br>
    // Arrrgh! Why does the code only seem to work correctly if I call this?<br>
    glDepthMask(GL_FALSE);<br>
<br>
<br>
<br>
 So I think use the openGL code to draw different style may be the qucik way.<br>
<br>
<br>
<br>
<br>
...<br>
<span class=""><br>
Thank you!<br>
<br>
Cheers,<br>
Lv<br>
<br>
------------------<br>
Read this topic online here:<br>
</span><a href="http://forum.openscenegraph.org/viewtopic.php?p=65462#65462" rel="noreferrer" target="_blank">http://forum.openscenegraph.org/viewtopic.php?p=65462#65462</a><br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br>
</div></div></blockquote></div><br></div>