From 36f755670b2a72373a0a8fbf5444ca981afc4bb7 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Tue, 19 Apr 2011 09:53:34 +0000 Subject: [PATCH] Cleaned up example --- examples/osgtext/osgtext.cpp | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/examples/osgtext/osgtext.cpp b/examples/osgtext/osgtext.cpp index 78f69eb7a..df713e24e 100644 --- a/examples/osgtext/osgtext.cpp +++ b/examples/osgtext/osgtext.cpp @@ -386,13 +386,15 @@ osg::Group* create3DText(const osg::Vec3& center,float radius) osg::Geode* geode = new osg::Geode; + //////////////////////////////////////////////////////////////////////////////////////////////////////// // // Examples of how to set up axis/orientation alignments // float characterSize=radius*0.2f; - + + osg::Vec3 pos(center.x()-radius*.5f,center.y()-radius*.5f,center.z()-radius*.5f); osgText::Text* text1 = new osgText::Text; @@ -419,6 +421,7 @@ osg::Group* create3DText(const osg::Vec3& center,float radius) text3->setText("XZ_PLANE"); geode->addDrawable(text3); + osg::Vec4 characterSizeModeColor(1.0f,0.0f,0.5f,1.0f); osgText::Text* text4 = new osgText::Text; text4->setFont("fonts/times.ttf"); @@ -426,7 +429,12 @@ osg::Group* create3DText(const osg::Vec3& center,float radius) text4->setPosition(center); text4->setAxisAlignment(osgText::Text::SCREEN); - osg::Vec4 characterSizeModeColor(1.0f,0.0f,0.5f,1.0f); + // reproduce outline bounding box compute problem with backdrop on. + text4->setBackdropType(osgText::Text::OUTLINE); + text4->setDrawMode(osgText::Text::TEXT | osgText::Text::BOUNDINGBOX); + + text4->setText("SCREEN"); + geode->addDrawable(text4); osgText::Text* text5 = new osgText::Text; text5->setColor(characterSizeModeColor); @@ -436,6 +444,7 @@ osg::Group* create3DText(const osg::Vec3& center,float radius) text5->setPosition(center - osg::Vec3(0.0, 0.0, 0.2)); text5->setAxisAlignment(osgText::Text::SCREEN); text5->setCharacterSizeMode(osgText::Text::SCREEN_COORDS); + text5->setDrawMode(osgText::Text::TEXT | osgText::Text::BOUNDINGBOX); text5->setText("CharacterSizeMode SCREEN_COORDS(size 32.0)"); geode->addDrawable(text5); @@ -459,14 +468,7 @@ osg::Group* create3DText(const osg::Vec3& center,float radius) text7->setText("CharacterSizeMode OBJECT_COORDS (default)"); geode->addDrawable(text7); -#if 1 - // reproduce outline bounding box compute problem with backdrop on. - text4->setBackdropType(osgText::Text::OUTLINE); - text4->setDrawMode(osgText::Text::TEXT | osgText::Text::BOUNDINGBOX); -#endif - text4->setText("SCREEN"); - geode->addDrawable(text4); osg::ShapeDrawable* shape = new osg::ShapeDrawable(new osg::Sphere(center,characterSize*0.2f)); shape->getOrCreateStateSet()->setMode(GL_LIGHTING,osg::StateAttribute::ON); @@ -678,7 +680,8 @@ int main(int argc, char** argv) // make sure the root node is group so we can add extra nodes to it. osg::Group* group = new osg::Group; - + + if (true) { // create the hud. osg::Camera* camera = new osg::Camera; @@ -692,7 +695,10 @@ int main(int argc, char** argv) group->addChild(camera); } - group->addChild(create3DText(center,radius)); + if (true) + { + group->addChild(create3DText(center,radius)); + } // set the scene to render viewer.setSceneData(group);